模型/库/框架

NVIDIA CUDA-Q 在 Infleqtion QPU 上运行突破性逻辑 Qubit 应用

Infleqtion 是中性原子量子计算领域的全球领导者,他们首先使用 NVIDIA CUDA-Q 平台在其 Sqale 物理量子处理器 (QPU) 上进行模拟,然后编排逻辑量子位材料科学实验的首次演示。

量子计算的基本信息单元 Qubits 容易出错,并且非常不可靠,无法做出有意义的预测。逻辑量子位是许多噪点物理量子位的集合,它们对量子信息进行编码以纠正错误,克服了这一限制。逻辑量子位可以执行耐环境噪声和硬件故障的量子计算,也称为容错量子计算。

逻辑量子位的一个关键测试是观察到,与其组成部分的噪声物理量子位相比,错误率有所降低。Infleqtion 的结果在一系列输入中令人信服地证明了这一点 (图 1)。

Bar chart showing Infleqtion’s material science application reduced the error rate from approximately 15% with physical qubits to less than 3% with logical qubits.
图 1、在 Infleqtion 的中性原子 QPU 上运行的两个量子位材料科学应用程序的逻辑和物理错误率

这是迈向容错量子计算的重要第一步,也是应用使用逻辑量子位的极少数物理演示之一。

本文将探讨对这项突破性工作至关重要的 CUDA-Q 功能和性能。它还概述了如何使用 CUDA-Q 在 Infleqtion 硬件上构建自己的端到端逻辑量子位工作流。

用于材料科学的逻辑量子位 

仿真技术通常能够加速新型材料的研发。准确的模拟可以减少执行昂贵且缓慢的实验的必要性,从而帮助预测新的候选材料。

众所周知,强相关性材料(通常是一些非常有趣的材料)很难模拟,因为它们的电子相互作用方式复杂。此类系统会导致许多近似方法崩溃,并且需要使用成本呈指数级增长的方法进行模拟,以正确捕捉物理特性。

其中一种方法是动态均场理论(DMFT),它可以准确描述强相关性系统,但以指数级扩展为代价。这促使研究人员探索使用量子计算机在更大规模上执行准确的 DMFT 模拟。

Infleqtion 的工作展示了使用两个逻辑量子位对单杂质 Anderson 模型的基态进行容错准备,这是实现容错 DMFT 的关键步骤。

每个逻辑量子位都使用[[4,2,2]]错误检测代码进行编码 (Figure 2)。这将两个逻辑量子位编码为四个物理量子位,其中可以检测和丢弃单个 X 类型误差 (bit flip) 或单个 Z 类型误差 (phase flip),但无法纠正。通过测量编码状态并确定结果中的奇偶校验 (number of 1s) 来检测误差,奇偶校验表示误差。

Graphic showing the logical codewords for the [[4,2,2,]] code as well as examples for the bit flip and phase flip errors.
图 2、包含 X 和 Z 错误类型示例的[[4,2,2]] 代码的逻辑编码

此错误检测过程允许丢弃故障电路 (检测到错误时)。在物理量子位错误率超过特定值 (由实验确定) 的情况下,这最终会提高结果的整体质量。

使用 CUDA-Q 集成创建端到端工作流

这些实验取得成功的关键因素是 CUDA-Q 与 Infleqtion 基于门的中性原子量子计算机的无缝集成,从而创建全面的端到端工作流程。借助 CUDA-Q 及其行业领先的模拟器,Infleqtion 高效地开发和测试了其代码,然后轻松过渡到在其中性原子 QPU 上执行相同的代码。

在设计实验并对其进行建模时,Infleqtion 使用 CUDA-Q 来利用 GPU 加速的模拟,包括 跨多个 QPU 的并行计算模拟 。CUDA-Q 参数化内核以及新的 CUDA-Q Solvers 库简化了此任务。 使用 CUDA-Q 定义自定义门操作 还使 Infleqtion 能够实现其硬件原生的自定义门,并将其与 自定义电路噪声模型 结合使用,以模拟其中性原子 QPU 的独特噪声分布。

这些定制模拟结合 CUDA-Q 中间电路测量和条件逻辑 功能,意味着 [[4,2,2]] 代码的性能可以完全模拟。在确定了运行实验的最有效方法后,Infleqtion 只是更改了 CUDA-Q 代码中的目标,直接在其中性原子 QPU 上运行。

在 NVIDIA Infleqtion 硬件上运行 CUDA-Q 应用

通过获得 Infleqtion API 密钥权限,用户现在可以重现其建模和运行逻辑量子位实验的工作。在幕后,Infleqtion 的跨平台 Superstaq 编译器对设备物理特性和门集执行低级编译。这使得用户只需指定以下目标之一,即可在 Infleqtion 硬件上轻松运行 CUDA-Q 应用程序。

# Example Bell Circuit
@cudaq.kernel
def kernel():
    qubits = cudaq.qvector(2)
    h(qubits)
    cx(qubits[0], qubits[1])
    mz(qubits)

# Enter Infleqtion API key
export SUPERSTAQ_API_KEY=”<insert key>”

# Run on Infleqtion QPU
cudaq.set_target("infleqtion", machine="cq_sqale_qpu")

# Run on Infleqtion Noisy Simulator
# cudaq.set_target("infleqtion", machine="cq_sqale_qpu", method=”noise-sim”)

# Sample kernel on specified backend
result = cudaq.sample(kernel)

Infleqtion 的 Sqale 中性原子 QPU 在近期的 预印本 中进行了基准测试,可在可扩展和可重新配置的数组中光学捕获和操作量子位,数组高达 1,600 量子位。此类可重构系统为应用协同设计提供了灵活性。逻辑编码的材料科学实验使用了三角形量子位阵列(图 3)。这只需几行代码,即可在典型的方形格上提高算法效率。

Side-by-side images of Infleqtion Sqale QPU featuring neutral atom qubits with an arrow between them labeled ‘Reconfigure to…’
图 3、Infleqtion 的 Sqale QPU 上的中性原子量子位可以重新配置为方形和三角形等不同数组

开始使用 

Infleqtion 突破性的逻辑量子位演示得益于 CUDA-Q 的通用性和性能。现在,CUDA-Q 代码可以在 Infleqtion 的 Sqale 中性原子 QPU 上运行,因此可以比以往更轻松地开始构建和加速逻辑量子位应用。

首先, 下载 CUDA-Q 。请参阅 Infleqtion 逻辑量子位演示的完整代码 ,并立即开始实施您自己的容错应用。如需详细了解用于加速量子超级计算的其他工具,请访问 NVIDIA Quantum

 

标签