QIA 量子信息网络产业联盟 QuantumInternetIndustryA/liance 量子汇编语言和量子中间表示 发展白皮书 量子信息网络产业联盟 2024年1月 声明 本报告所载的材料和信息,包括但不限于文本、图片、数据观点、建议等,均不构成投资或法律建议,也不应替代律师意见本报告所有材料或内容的知识产权归量子信息网络 产业联盟所有(注明是引自其他方的内容除外),并受法律保护。如需转载需联系本联盟并获得授权许可。转载、摘编或利用其它方式使用本报告文学、图表或者观点的,应注明“来源:量子信息网络产业联盟”。违反上述声明者,本联盟 将道究其相关法律责任。 量子信息网络产业联盟 联系电话:010-62300592 邮箱:qiia@caict.ac.cn 编制说明 量子计算以量子比特为基本单元:利用量子叠加和十涉等原理实现并行计算,能在某些计算复杂问题上提供指数级加速,是未来计算能力跨越式发展的重要方向。近年来,国内外量子计算处理器呈现并行发展态势,量子比特数、逻辑门保真度等关键性能指标逐步提升。与此同时,量子计算软件作为接使用者与量子计算硬件处理器的关键细带、也在保持同步发展,其与量子计算硬件处理相结合,可为科学 研究和行业应用提供有力支持。 量子软件开发工具链涉及量了汇编语言、量子中间表示和高级量子程序设计语言等,其中量子汇编语言、量子中间表示作为面向量子计算硬件处理器的底层软件,是现阶段研发重点,国内外科技巨头及量子初创企业争相布局。为深人广解量子汇编语言和量子中间表示的最新进展,分析其未来发展趋势,联盟组织研究编写了《量子汇编语言和量子中间表示发展白皮书》,旨在为业界知悉相关前沿进展提供一定 参考。 编制单位:华为技术有限公司、中国信息通信研究院、北京中科弧光量子软件技术有限公司、国开启科量子技术(北京)有限公司、中国科学技术大学、上海图灵智算量子科技有限公司、广东国腾量子科技有限公司、本源量子计算科技 (合肥)股份有限公司 编写组:翁文康、刘武新、崔江煜、徐旭升、张凯、邹作恒、罗茂林、李钦、姚飞、张萌、付祥、楼华哲、陈敬伟、梁福田、施恺然、邓芮、谢欢文、吴湘宁、窦猛汉、方圆 当目 一、量了计算与量了编程概述1 (一)量子计算1 (二)量子编程 二、高级量子程序设计语言概述及分类6 (一)概述6 (二)嵌入式量了程序设计语言8 (三)独立式量子程序设计语言10 三、量子汇编语言现状及进展15 (一)概述15 (二)OpcnQASM17 (三)Quil26 (四)QASM30 (五)cQASM38 (六)QCIS41 (七)其他汇编语言44 (八)小结45 四、量子中间表示现状及进展47 (一)概述47 (二)QIR51 (三)ScaffCC-TR54 (四)XACC-IR56 (五.)OriginIR58 (六)isQ-IR59 (-七)Quingo-IR 60 (八)其他IR 63 (九)小结 t9 五、总结展望与建议 67 (一)总结 67 (二)展举和建议 69 附录:中英文词汇对照表 72 图目录 图1常见的量子遇辑门和量子测量操作 2 图2量子计算系统全栈示意图 4 图3高级量子程序设计语言的三种不同的执行模型 14 图4量子程序的编译和执行模型 27 图5经典量子反馈模型 29 图6量子经典异构架构 8E 图7NetQASM架构示意图 46 图8虽子中间表示 52 图9QIR组件结构图 57 表目录 表1量子编程语言概览6 表2量子汇编语言概览18 表3子中间表示概览53 表4QIR代码仓结构56 表5量子中间表示的分类67 表6高级量子程序设计语言的生态统计70 表7量子中问表示(或编译器)的生态统计70 一一、、量量子子计计算算与与量量子子编编程程概概述述 (一一))量量子子计计算算 随随着着社社会会生生产产力力的的发发展展,,人人们对们高对性高能性计能算计提算出提了出更高了的更要高求的。要求。面面对对摩摩尔尔定定律律的的逐逐渐渐失失效效,,科科学学家家和和工工程程师师正正全全力力研研究究发发展展新新的的计计算算技技术术,,推推动动算算力力发发展展。。量量子子计计算算以以量量子子比比特特为为基基本本计计算算单单元元,,利利用用量量子子叠登加加等等原原理理实实现现并并行行计计算算,,能能在在某某些些计计算算困困难难问问题题上上提提供供指指数数级级加加速速,,是是未未来来计计算算能能力力实实现现跨跨越越式发式展发的展重的要重方要向方。向。 当当前前,,量量子子计计算算正正处处于于发发展展初初期期阶阶段段,,超超导导、、离离子子阱阱、、中中性性原原子子、、光光量量子子、、半半导导体体等等多多种种硬硬件件处处理理器器平平台台并并行行发发展展,,开开放放竞竞争争,,技技术术路路线线尚尚未未收收敛敛。。随随着着量量子子计计算算硬硬件件平平合台逐逐渐渐进进入入具具有有百百位位量量子子 比比特特的中的规中模含规噪声模量子含(N噪ois声yInte量rme子dia(te-SNcaloeQisuayntIunm,teNrImSQe)diate-ScaleQuantum,NISQ)处处理理器器时时代代,,基基于于NNISIQSQ样样机机开开展应展用应研用究研探究索探已索成已为成产为业产界业和界行业和行业用用户户的的共共同同目目标标。。近近年年来来,,量量子子计计算算应应用用聚聚焦焦组组合合优优化化、、量量子子模模拟拟、、量量子子人人工工智智能能等等多多类类间问题题展展开开探探索索。。量量子子组组合合优优化化通通过过利利用用量量子子算算法法在在大大量量可可能能方方案案中中更更高高效效准准确确的的找找到到最最佳佳方方案案,,具具体体可可用用于于金金融融投投资资组组合合、、金金融融衍衍生生品品定定价价、、物物流流优优化化、、旅旅行行商商间问题题等等间问题题。。量量子子模模拟拟运运用用人人工工可可控控的的量量子子系系统统模模拟拟另另外外一一个个量量子子系系统统的的性性质质和和演演化化规规律律,,应应用用范范围围涵涵盖盖基基础础物物理理研研究究、、生生命命科科学学、、制制药药、、化化工工等等多多个个领领域域。。量量子子人人工工智智能能将将量量子子计计算算与与人人工工智智能能相相结结合合,,在在处处理理大大数数据据模模型型时时具具备备潜潜在在的的加加速速优优势势,,有有望望在在机机器器学学习习、、自自然然语语言言处处理理、、大大数数据据分分析析等等问问题题中中实实现现应应用用价价值值。。 量量子子应应用用在在量量子子计计算算机机上上的的执执行行需需要要借借助助特特定定的的量量子子算算法法来来实实现现。。当当前前,,实实现现量量子子算算法法的的一一种种主主要要的的方式方是式数是学数量字子量计子算计算 量量子子汇汇编编语语言言和和量量子子中中间间表表示示发发展展白白皮皮书书 ((DDiiggitiatlQaluaQntuumaCnotmupmutinCg)om,它pu与t基in于g数)学,逻辑它门与的经基典于计算数机字逻辑门的经典计算机类类似似,,根根据据具具体体的的量量子子芯芯片片处处理理器器底底层层架架构构,,构构建建了了一一套套通通用用量量子子逻逻辑辑门门操操作作((简简称称为为“量“量子门子”门)”。)可。以可证以明证,明特定,的特量定子的门量集子合门能集合能够够满满足足图图灵灵完完备备性性,,可可以以完完成成通通用用的的量量子子计计算算任任务务。。量量子子计计算算机机在在执执行行量量子子算算法法之之后后,,返返回回的的是量是子量态子。态为。了为获了得获其得体具的量体子的态量信子息态,信息,我我们们还还需需要要执执行行量量子子测测量量操操作作。。根根据据量量子子力力学学基基本本原原理理,,测测量量后后的的量量子子态态会会发发生生塌塌缩缩,,单单次次测测量量会会得得到到确确定定的的状状态态输输出出。。通通过过重重复复制制备备相相同同的的量量子子态态,,进进行行多多次次测测量量,,可可以以统统计计出出不不同同状状态态的的概概率率,,获获得得更更具具体体的的量量子子态态信信息息。。量量子子计计算算机机的的输输出出结结果果通通常常是是不不同同量量子子态态的的概概率率。。常常见见的的量量子子门门和和量量子子测测量量门门图图标标如如图图11所所示示。1基。于基量于子量门子门和和量量子子测测量量门门的的集集合合,,按按照照特特定定的的顺顺序序进进行行编编排排,,可可以以构构建建出出量量子子线线路路,,实实现现一些一常些见常的见通用的量通子用算法量,子如算De法uts,ch如算法D、euSthsocrh算算法法和、Shor算法和 GGrroovevr算e法r算等。法等。 :ob q1: H PS q2: [H 在在NNIISSQQ阶阶段段,,量量子子计计算算机机端到端端到解端决解间决题问的题能的力能还力较还弱较。弱在量。在量子子测测量量得得到到结结果果之之后后,,利利用用经经典典计计算算机机根根据据测测量量结结果果更更新新量量子子计计算算机机所所需需要要运运行行的的量量子子线线路路,,然然后后再再继继续续利利用用量量子子计计算算机机得得到到量量子子测测量量结结果果。。这这种种利利用用经经典典计计算算机机来来辅辅助助量量子子计计算算机机,,进进行行迭迭代代计计算算的的 图图88常常见见的的量量子子逻逻辑辑门门和和量量子子测测量量操操作作1 11未来累源::量量于子信信惠息网络网产络业产联业盟联盟 模式叫做经典-量子混合计算,这类算法通常被称为变分量子算法,可以应用到量子化学模拟、量子组合优化和量子机器学习等领域。 量子计算机是实现量子计算应用的基石,其构建涉及量子硬件平台、量子软件、量子算法等多项必备要素,其中量子软件包括应用开发软件和量子计算编译软件两大类。量子计算编译软件作为底层软件,需要满足量子计算的底层理论与算法逻辑,涵盖量子汇编语言、量子中间表示等,特异性与专业性较强,目前处于设计开发与生态构建的早期阶段,是国内外研究布局的重点。本文重点聚焦量子汇编语言和量子中间表示,调研当前量子编程的发展现状,并探讨未来的发展方向。 (二)量子编程 量子计算机是一个综合软件和硬件的复杂系统,从量子应用到量子硬件的过程,简单来说可以用下面的量子计算全栈系统图来描述,如图2所示2。从图中可以看到,量子编程是处于量子算法和量子硬件的中间层,是将量子计算的应用成功在量子计算机上执行的承上启下的一个重要部分。 量子编程需要借助一些工具来实现,这个工具就是量子编程语言。参照量子编程语言在整个量子计算机全栈系统图中所处的层次,可以将量子编程语言分为如下几类:高级量子程序设计语言(High-levelQuantumProgrammingLanguage)、量子中间表示(QuantumIntermediateRepresentation,QIR)和量子汇编语言(Quantum 2来源:量子信息网络产业联盟 量子应用 量子算法 高级量子程序设计语言 嵌入式 独立式 量子编程 量子编译器 量子中间表示 量子汇编语言 量子硬件 图图99量量子子计计算算系系统统全全栈栈示示意意图图2AAsssseemmbblylLyanLguaangge,uaQgAeS,M)Q。A类SM比于)经。典编类程比语于言,经高典级量编子程程语言,高级量子程序序设设计计语语言言是是一一种种面面向向用用户户的的程程序序语语言言,,开开发发者者通通过过调调用用预预制制的的量量子子算算法法库库和和自自定定义义算算法法,,从从而而可可以以方方便便的的实实现现自自已己的的量量子子应应用用。。量量 子子汇汇编编语语言言则则是是更更加加贴贴近近于于量量子子硬硬件件的的编编程程语语言言,,可可以以通通过过量量子子操操 作作系系统统直直接接调调用用底底层层量量子子指指令令。。在在当当前前阶阶段段,,量量子子编编程程语语言言和和量量子子硬硬件件仍仍然然处处在在发发展展阶阶段段,,人人们们可可以以直直接接通通过过高高级级量量子子程程序序设设计