Skip to main content
QUICK REVIEW

[论文解读] OpenQL : A Portable Quantum Programming Framework for Quantum Accelerators

N. Khammassi, I. Ashraf|arXiv (Cornell University)|May 27, 2020
Quantum Computing Algorithms and Architecture被引用 10
一句话总结

OpenQL 是一个可移植的量子编程框架,允许在 C++ 或 Python 中实现高级量子算法,并通过模块化编译器栈将其编译为优化的、针对硬件的代码。它通过使用与技术无关的 cQASM 中间表示形式和自适应调度来抽象硬件细节,实现了在超导和 Si-Spin 量子比特技术之间的跨平台可移植性,从而兼顾设备特定的延迟和连接性约束。

ABSTRACT

With the potential of quantum algorithms to solve intractable classical problems, quantum computing is rapidly evolving and more algorithms are being developed and optimized. Expressing these quantum algorithms using a high-level language and making them executable on a quantum processor while abstracting away hardware details is a challenging task. Firstly, a quantum programming language should provide an intuitive programming interface to describe those algorithms. Then a compiler has to transform the program into a quantum circuit, optimize it and map it to the target quantum processor respecting the hardware constraints such as the supported quantum operations, the qubit connectivity, and the control electronics limitations. In this paper, we propose a quantum programming framework named OpenQL, which includes a high-level quantum programming language and its associated quantum compiler. We present the programming interface of OpenQL, we describe the different layers of the compiler and how we can provide portability over different qubit technologies. Our experiments show that OpenQL allows the execution of the same high-level algorithm on two different qubit technologies, namely superconducting qubits and Si-Spin qubits. Besides the executable code, OpenQL also produces an intermediate quantum assembly code (cQASM), which is technology-independent and can be simulated using the QX simulator.

研究动机与目标

  • 通过抽象低层次控制细节,实现与底层硬件无关的量子算法开发。
  • 解决将高层量子算法映射到具有不同门集、连接性和控制电子设备的多样化量子处理器架构的挑战。
  • 提供一个支持多种量子比特技术(包括超导和半导体量子比特)的可移植编译栈。
  • 通过动态适应硬件配置文件,实现相同高层代码在不同量子处理器上的执行。
  • 通过标准化的中间表示形式(cQASM),同时支持仿真和在真实量子加速器上的执行。

提出的方法

  • 在 C++ 和 Python 中实现高层量子编程接口,使用户无需了解底层硬件细节即可编写量子算法。
  • 设计一个模块化编译器栈,利用硬件配置文件中的门分解部分,将量子操作分解为基本门。
  • 使用与技术无关的 cQASM 中间表示形式,实现算法描述与目标特定执行之间的解耦。
  • 应用硬件感知调度,考虑不同控制通道上的指令延迟、持续时间以及量子比特连接性约束。
  • 将微架构特定属性(如微波、通量和读出控制)集成到配置文件中,以指导代码生成。
  • 通过配置驱动的编译实现自动代码适配,使同一段高层源代码可在不同量子处理器上重用。

实验结果

研究问题

  • RQ1量子编程框架如何实现对超导和 Si-Spin 量子比特等多样化量子比特技术的可移植性?
  • RQ2何种编译器架构能够实现高层量子算法向异构量子处理器微架构的高效映射?
  • RQ3单个高层量子程序在多大程度上可被最小修改地执行于不同量子硬件平台?
  • RQ4如何在保留量子相干性和性能的前提下,抽象硬件特定约束(如量子比特连接性、门集和控制电子延迟)?
  • RQ5统一的中间表示形式(cQASM)是否能够实现在多个量子加速器平台上的仿真和目标特定编译?

主要发现

  • OpenQL 仅通过更改硬件配置文件,便成功地将在超导和 Si-Spin 量子比特平台上运行的同一高层量子算法进行了编译和执行。
  • 该框架通过自动重调度操作,补偿了信号发生器和测量单元延迟的差异,实现了跨设备的相干控制。
  • 包括随机化基准测试、AllXY、拉比振荡和变分量子本征求解器在内的实验,均在无源代码修改的情况下成功跨平台迁移。
  • cQASM 中间表示形式支持使用 QX 模拟器进行精确仿真,并作为可移植、与技术无关的编译目标。
  • 编译器栈通过利用拓扑结构、门分解和延迟感知调度,有效实现了对多样化量子微架构的优化和映射。
  • OpenQL 在实际量子实验中展示了实用的可移植性,包括三量子比特奇偶校验和量子化学中的能量导数计算。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。