NISQ 时代量子计算 (QC) 的快速发展迫切需要一个低级基准测试套件和深刻的评估指标,以表征原型 NISQ 设备的特性、QC 编程编译器、调度程序和汇编程序的效率以及经典计算机中量子系统模拟器的能力。在这项工作中,我们通过基于 OpenQASM 汇编表示提出一个低级、易于使用的基准测试套件 QASMBench 来弥补这一空白。它整合了来自化学、模拟、线性代数、搜索、优化、算术、机器学习、容错、密码学等各个领域的常用量子例程和内核,在通用性和可用性之间进行权衡。为了从 NISQ 设备执行的角度分析这些内核,除了电路宽度和深度之外,我们还提出了四个电路指标,包括门密度、保留寿命、测量密度和纠缠方差,以提取有关执行效率、NISQ 误差敏感性以及机器特定优化的潜在收益的更多见解。QASMBench 中的应用程序可以在多个 NISQ 平台上启动和验证,包括 IBM-Q、Rigetti、IonQ 和 Quantinuum。为了进行评估,我们通过密度矩阵状态断层扫描测量 12 台 IBM-Q 机器上 QASMBench 应用程序子集的执行真实性,包括 25K 电路评估。我们还比较了 IBM-Q 机器、IonQ QPU 和 Rigetti Aspen M-1 系统之间的执行真实性。QASMBench 发布在:http://github.com/pnnl/QASMBench。
摘要 量子计算是一个快速发展的领域,有可能改变我们解决以前棘手问题的方式。新兴硬件的复杂性正在逼近,需要越来越复杂的编程和控制。Scaffold 是一种较旧的量子编程语言,最初设计用于未来大型量子机器的资源估算,而 ScaffCC 是相应的基于 LLVM 的编译器。我们首次对该语言本身、编译器及其传递结构进行了全面而完整的概述。尽管 Abhari 等人(2015 Parallel Comput. 45 2–17)、Abhari 等人(2012 Scaffold:量子编程语言 https://cs.princeton.edu/research/techreps/TR-934-12)的先前研究对该工具链的不同部分进行了零碎的描述,但我们在本文中提供了更全面、更完整的描述。我们还引入了 ScaffCC 的更新,包括旨在与现代量子汇编语言保持同步的条件测量和多维量子比特阵列,以及旨在保持噪声中型量子 (NISQ) 机器的正确性和低资源计数的替代工具链,以及与当前版本的 LLVM 和 Clang 的兼容性。我们的目标是为研究界提供一个功能齐全的 LLVM 框架,用于量子程序分析、优化和可执行代码的生成。