Skip to main content
QUICK REVIEW

[论文解读] Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments

David McKay, Thomas Alexander|arXiv (Cornell University)|Sep 10, 2018
Quantum Computing Algorithms and Architecture参考文献 1被引用 108
一句话总结

这篇论文定义了一个标准接口和数据结构(Qobj),用于在与 Qiskit 兼容的后端上运行 OpenQASM 和 OpenPulse 实验,实现与模拟器和设备的标准化通信,并引入用于脉冲级控制的 OpenPulse。

ABSTRACT

As interest in quantum computing grows, there is a pressing need for standardized API's so that algorithm designers, circuit designers, and physicists can be provided a common reference frame for designing, executing, and optimizing experiments. There is also a need for a language specification that goes beyond gates and allows users to specify the time dynamics of a quantum experiment and recover the time dynamics of the output. In this document we provide a specification for a common interface to backends (simulators and experiments) and a standarized data structure (Qobj --- quantum object) for sending experiments to those backends via Qiskit. We also introduce OpenPulse, a language for specifying pulse level control (i.e. control of the continuous time dynamics) of a general quantum device independent of the specific hardware implementation.

研究动机与目标

  • 提供一个用于 Qiskit 兼容后端(仿真器和硬件)的通用 API。
  • 定义一个用于发送量子实验的标准化 Qobj 数据结构。
  • 引入 OpenPulse,以实现与硬件实现无关的脉冲级控制。
  • 指定 OpenQASM 实验如何表示为 Qobj 数据结构。
  • 概述用于稳健执行的后端配置、属性、默认值和状态信息。

提出的方法

  • 定义一个 provider-backend-job 架构,方法包括:get_backend、available_backends、run、status、result 和 cancel。
  • 描述 Qobj 数据结构用于 QASM 和 PULSE 实验及其通过模式(schemas)的验证。
  • 指定 OpenQASM 表示为包含实验序列和指令命令(gate、barrier、reset、measure、snapshot)的 Qobj。
  • 详细说明 OpenPulse 规范,包括后端配置、哈密顿量规格、脉冲库和时间序列控制。
  • 提供示例配置、门配置,以及用于展示用法的示例 OpenPulse 实验。

实验结果

研究问题

  • RQ1如何通过 Qiskit 中的统一 API 将后端(仿真器和硬件)进行接口化?
  • RQ2需要哪些数据结构(Qobj)和架构来表示 OpenQASM 和 OpenPulse 实验以进行执行和结果检索?
  • RQ3如何让 OpenPulse 在不同量子设备上实现脉冲级控制,同时保持后端无关性?
  • RQ4支撑 OpenQASM 与 OpenPulse 实验所需的后端配置、属性和默认值的必需与可选项有哪些?

主要发现

  • 已建立统一的 Qiskit API 模型,协调 Provider、Backend、Job、Qobj 和 Result,以实现并行实验执行。
  • 已定义自包含的 Qobj JSON 结构,用于封装完整的 OpenQASM 或 OpenPulse 实验,包含用于验证的 schema。
  • 在 Qobj 中使用一组定义的序列命令(gate、measure、barrier、reset、copy、boolean function、snapshot)和内存/寄存器处理来表示 OpenQASM 实验。
  • 引入 OpenPulse,作为用于指定连续时间动力学和脉冲级控制的语言,具有详细的后端配置、默认值和脉冲库集成。
  • 该规范支持各种后端(设备或模拟器),并概述结果可能包括测量数据、状态向量、单位矩阵和快照。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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