使用 OpenQASM 3.0 进行逐字记录编译 - Amazon Braket

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 OpenQASM 3.0 进行逐字记录编译

当您在 Rigetti 和 IonQ 等供应商提供的量子计算机上运行量子电路时,您可以指示编译器完全按照定义运行您的电路,而无需做出任何修改。此功能称为逐字记录编译。使用Rigetti设备,您可以精确地指定要保留的内容——要么是整个电路,要么仅保留其中的特定部分。如果仅保留电路的特定部分,需要在保留区域内使用原生门。目前,IonQ 仅支持整个电路的逐字记录编译,因此电路中的每条指令都需要放在逐字记录框中。

使用 OpenQASM,您可以围绕代码框明确指定逐字记录编译指示,然后该代码保持不变,不会被硬件的低级编译例程优化。以下代码示例演示了如何使用 #pragma braket verbatim 指令实现这一点。

OPENQASM 3; bit[2] c; #pragma braket verbatim box{ rx(0.314159) $0; rz(0.628318) $0, $1; cz $0, $1; } c[0] = measure $0; c[1] = measure $1;

有关逐字编译过程的更多详细信息,包括示例和最佳实践,请参阅 github 存储库中提供的 Verbatim 编译示例笔记本。 amazon-braket-examples