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