Skip to main content
QUICK REVIEW

[论文解读] Extending C++ for Heterogeneous Quantum-Classical Computing

Thien Nguyen, Anthony Santana|arXiv (Cornell University)|Oct 8, 2020
Quantum Computing Algorithms and Architecture参考文献 36被引用 4
一句话总结

本文提出 qcor,一种 C++ 语言扩展及编译器,通过一种新颖的 Clang 插件接口,实现无缝的异构量子-经典编程。它将量子内核编译为 XACC 中间表示,支持硬件无关的编译,并与量子优化和纠错工作流集成,实现在近场设备上高层级、高性能的变分量子算法执行。

ABSTRACT

We present qcor - a language extension to C++ and compiler implementation that enables heterogeneous quantum-classical programming, compilation, and execution in a single-source context. Our work provides a first-of-its-kind C++ compiler enabling high-level quantum kernel (function) expression in a quantum-language agnostic manner, as well as a hardware-agnostic, retargetable compiler workflow targeting a number of physical and virtual quantum computing backends. qcor leverages novel Clang plugin interfaces and builds upon the XACC system-level quantum programming framework to provide a state-of-the-art integration mechanism for quantum-classical compilation that leverages the best from the community at-large. qcor translates quantum kernels ultimately to the XACC intermediate representation, and provides user-extensible hooks for quantum compilation routines like circuit optimization, analysis, and placement. This work details the overall architecture and compiler workflow for qcor, and provides a number of illuminating programming examples demonstrating its utility for near-term variational tasks, quantum algorithm expression, and feed-forward error correction schemes.

研究动机与目标

  • 为近场量子硬件提供一种在 C++ 中实现高层级、高性能量子-经典编程的方案。
  • 为针对多种物理和虚拟量子后端的量子内核,提供一种硬件无关、可重定向的编译器流水线。
  • 将量子编译任务(如电路优化、分析和量子比特布局)整合到统一、可扩展的工作流中。
  • 在单一源码的 C++ 环境中支持高级量子算法,包括变分方法和前馈误差纠正。
  • 通过符合标准的开源编译器基础设施,促进量子协处理器与现有高性能计算堆栈的紧密集成。

提出的方法

  • qcor 编译器使用一种新颖的 Clang 插件 SyntaxHandler,为 C++ 中的量子内核表达式提供领域特定语言的预处理。
  • 量子内核被转换为 XACC 中间表示,实现硬件无关的编译,并可重定向至多个量子后端。
  • 该系统与 XACC 框架集成,为量子编译例程(包括电路优化和量子比特布局)提供用户可扩展的钩子。
  • 一个高层级库 qcor_hybrid 提供对 ADAPT-VQE 等高级算法的抽象,隐藏底层电路构建与优化的复杂性。
  • 该编译器支持前馈控制和基于梯度的优化,使 VQE 和 QAOA 等迭代量子算法得以实现。
  • 该工作流完全开源,可通过 GitHub 获取,支持在仿真器和真实量子处理器上运行。

实验结果

研究问题

  • RQ1如何扩展 C++ 以原生表达量子内核,实现单源码、异构的量子-经典编程模型?
  • RQ2何种编译器架构能够实现硬件无关、可重定向的量子内核编译,同时保持性能和可扩展性?
  • RQ3如何在基于 C++ 的系统中,将量子编译任务(如优化、分析和量子比特布局)整合到统一、可扩展的工作流中?
  • RQ4是否能以极低性能开销在 C++ 中高效表达和执行高层级量子算法(如 ADAPT-VQE)?
  • RQ5如何在基于 C++ 的量子编译器中支持前馈控制和基于梯度的优化,以适用于近场量子应用?

主要发现

  • qcor 编译器成功将 C++ 量子内核编译为 XACC 中间表示,支持在包括 TNQVM 模拟器在内的多个量子后端上执行。
  • ADAPT-VQE 算法通过 qcor_hybrid 库成功实现并执行,在四氢原子链系统中实现约 -1.81363 Hartree 的能量收敛。
  • 该系统支持在 VQE 工作流中迭代生成自适应电路ansatz,基于梯度分析动态选择最相关的泡利或费米子算符。
  • 将 L-BFGS 优化与中心差分梯度计算结合,实现了 ADAPT 框架中高效变分参数更新。
  • 该编译器支持前馈误差纠正方案及其他复杂控制流,证明其在高级量子-经典工作负载中的可行性。
  • 整个软件栈均为开源,发布于 https://github.com/ornl-qci/qcor,支持社区扩展,并可与 HPC 工作负载集成。

更好的研究,从现在开始

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

无需绑定信用卡

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