量子计算时代快了!量子计算机的架构,硬件,软件等都有成果!
普林斯顿大学研究人员与马里兰大学和IBM合作进行了一项研究,探索了量子计算机(QC)的架构设计。在2019年ACM/IEEE计算机架构国际研讨会上发表的一篇论文中,研究人员使用IBM、Rigetti和马里兰大学的7台量子计算机,对量子计算机进行了迄今为止规模最大的实际系统评估。
研究人员开发了新软件来编译从量子计算机应用程序到硬件原型,在容易出错的早期量子计算机硬件上。与行业编译器相比,该编译器在程序正确率方面提高了28倍,该研究强调了精心设计指令集、丰富的连接拓扑以及协同设计应用程序和硬件重要性,以实现初生量子计算机系统的最佳性能。
不同的量子计算技术
量子计算是一种全新的计算范式,在药物设计、肥料设计、人工智能和安全信息处理等领域有着广阔的应用前景。量子计算从20世纪80年代作为一项纯理论研究开始,现在已经发展到可以用小型原型系统进行实验的地步。像IBM和Rigetti这样的,现在可以通过云免费访问他们5到16量子位系统。这些系统可以使用指令序列进行编程,也称为操作或门。与早期经典计算类似,使用真空管、继电器电路或晶体管构建系统,今天的量子计算机系统可以由几种硬件技术构建。
领先的技术包括超导量子位元和捕获离子量子位元,其他候选技术也有相当大的兴趣。然而,与传统的二进制计算机不同,量子计算机技术是如此的不同,甚至可以在一个量子位上执行的基本门操作也有很大不同。为软件使用选择最合适的门操作,是一个重要的量子计算机设计决策。目前量子计算机系统在量子位对之间操作的可靠性方面也有所不同。例如,在IBM和Rigetti的超导量子位元中,量子位元使用与经典处理器制造类似的方法打印在二维晶圆上。
在这些系统中,量子位之间的运算只允许在相互接近的量子位之间进行,并且由特殊电线连接。这种制造方法对不同量子位元如何通信施加了限制,即允许系统中的每个量子位元只与少数几个邻近量子位元直接交互。相比之下,对于UMD中捕获的离子量子位元,量子位元之间的运算是通过一条离子链的振动运动来完成。因为这种方法不使用连线形式的物理连接,所以它允许系统中任意一对量子位元之间进行量子位元间的运算。
这种更广泛的通信模型对某些量子计算机算法有一定参考价值,值得注意的第三个特征是,在所有这些候选技术中,量子态很难精确地操纵。这将导致操作错误率。此外,这些误差的大小在系统中的量子位元和时间上都有显著变化。结果,这些巨大的噪音变化将操作的可靠性提高了10倍。由于量子计算机算法将这些操作链在一起,每个操作的错误率会使程序很难得到正确答案。
量子计算机体系结构
不同量子计算机实现之间的巨大差异促使研究人员设计编程接口,使程序免受量子位元实现细节和错误率的影响。这种接口通常称为指令集体系结构(ISA),是现代计算系统的基石。ISA包含一组指令,可以在硬件上执行,并作为硬件实现和软件之间的契约。只要程序使用ISA允许的操作,就可以在不修改任何硬件的情况下运行,而硬件也实现相同的ISA,而不考虑硬件实现之间的任何差异。
量子计算机供应商对ISA和量子位元的连接性做出了许多设计决策。每个供应商都选择提供一组软件可见的门,这些门掩盖了门实现的特定细节。这些门通常与基本操作不同,通常被选择为量子算法设计人员和程序员经常使用的操作。供应商应该选择向硬件公开哪些门?应该将这些门抽象到供应商之间的通用ISA中,还是根据底层设备特性来定制它们?同样,量子位连通性的选择,尽管受到硬件技术影响,但它决定了程序可以使用哪些量子位之间的操作。
量子计算机架构的设计见解
为了回答这些设计问题,研究人员评估了来自三个供应商(IBM、Rigetti和UMD)的七个系统体系结构,它们具有不同的连接拓扑,跨越两种硬件量位技术。由于量子计算机是有噪声的,运行程序数千次并将最常见的答案作为正确答案报告是该领域的标准做法。为了提高正确运行的可能性,这项研究开发了TriQ,这是一种多供应商优化编译器,尽管具有跨平台的适用性,但它的性能显著优于供应商编译器。
使用TriQ,研究人员表明,系统架构设计选择可以显著影响程序运行的正确率,强调了考虑程序需求做出这些设计选择的重要性。发现,供应商对软件可见门集的选择会影响运行程序所需操作数量和正确率。当供应商公开本机或基本操作时,TriQ可以显著减少执行一组程序指令所需的本机操作数量,并提高正确率。这表明,在量子计算机上,以一种类似于经典系统的方式,通过设备或独立于供应商的ISA来屏蔽本机指令的所有知识还为时过早。
同时研究还发现,应用程序的通信需求和硬件连接拓扑结构之间的匹配至关重要。当硬件只能支持少量通信操作的应用程序时,应用程序正确执行的几率通常更高。当出现不匹配时,需要进行大量的通信操作,应用程序正确率就会受到影响。由于其开源软件工具现在可以在github上使用,有可能为量子计算机软件编译提供重大的实际改进,同时也为更广泛地了解量子计算机硬件最有效的设计方法提供了机会。