[论文解读] QCOR: A Language Extension Specification for the Heterogeneous Quantum-Classical Model of Computation
QCOR 是一种基于 C++ 的语言扩展,支持在异构量子-经典计算环境中实现无缝的单源编程,通过库调用和指令支持变分、迭代和前馈量子算法。它为近期的含噪声中等规模量子(NISQ)设备提供硬件无关的高级抽象,并内置自动化误差缓解功能,同时与高性能计算(HPC)工作流集成。
Quantum computing is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for quantum computing were designed with fault-tolerant hardware in mind, envisioning standalone applications. However, near-term quantum computers are susceptible to noise which limits their standalone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This {\it modus operandi} calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR, that enables single-source quantum-classical programming. Programs written using the QCOR library and directives based language extensions can be compiled to produce functional hybrid binary executables. After defining the QCOR's programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed forward quantum computing. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high performance computing (HPC). The high level of abstraction in the developed language is intended to accelerate the adoption of quantum computing by researchers familiar with classical HPC.
研究动机与目标
- 解决 NISQ 时代异构量子-经典系统缺乏统一、高级编程模型的问题。
- 通过熟悉的 C++ 语法和 HPC 最佳实践,实现高效、可移植且可扩展的量子-经典应用开发。
- 支持对近期含噪声且量子比特相干时间有限的量子硬件至关重要的迭代和变分量子算法。
- 通过可组合的 ObjectiveFunction 装饰器机制,在量子编程中实现自动化误差缓解。
- 通过可扩展的编译器和执行模型,为未来容错量子计算奠定基础。
提出的方法
- 提出 QCOR 作为 C++ 的库和指令扩展,用于在单个源代码中表达量子内核和经典控制流。
- 定义一种编程模型,支持在经典 C++ 应用中异步执行量子内核。
- 建立一种内存模型,通过高级抽象管理量子态和可观测量,实现高效的态传输和测量。
- 采用硬件无关的执行模型,通过统一接口在多种量子协处理器上编译和执行量子内核。
- 使用 ObjectiveFunction 抽象表示变分算法中的代价函数,支持组合与装饰,以实现分层误差缓解策略。
- 利用现有的 HPC 实践,如内存管理、类型安全和性能可移植性,确保效率和互操作性。
实验结果
研究问题
- RQ1如何设计一种高级编程模型,原生支持单源范式下的异构量子-经典执行?
- RQ2在含噪声中等规模量子(NISQ)设备上高效实现变分和迭代量子算法,需要哪些抽象?
- RQ3如何系统性地组合并集成误差缓解机制到量子编程工作流中,而不牺牲性能或可移植性?
- RQ4量子-经典编程在多大程度上可以与 C++ 等经典 HPC 语言和框架实现互操作?
- RQ5编译器和运行时支持在实现混合量子-经典应用的可扩展、可移植和高效执行中扮演何种角色?
主要发现
- QCOR 允许使用单个 C++ 源文件表达混合量子-经典应用,量子内核通过库调用和指令嵌入。
- 该语言通过一等的 ObjectiveFunction 抽象支持变分量子算法,可计算可观测量的期望值。
- 误差缓解策略可通过装饰器风格的 ObjectiveFunction 组合实现,实现分层缓解而无需修改核心量子逻辑。
- QCOR 模型是硬件无关的,设计用于与现有 HPC 系统互操作,确保在多种量子协处理器架构间的可移植性。
- 该规范支持异步执行和高效的内存管理,符合高性能计算标准,具备可扩展性。
- 该方法可实现高效编译为功能混合二进制文件,证明了其在大规模、生产级量子-经典工作负载中的可行性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。