模拟/建模/设计

使用 NVIDIA cuQuantum 设备进行大规模最佳量子电路仿真

政府、企业和学术界的量子算法研究人员有兴趣在越来越大的量子系统上开发和测试新的量子算法。用例包括药物发现、网络安全、高能物理和风险建模。

然而,这些系统仍然很小,质量仍有待提高,容量有限。因此,在量子电路模拟器上开发应用程序和算法是很常见的。

NVIDIA cuQuantum 是一个软件开发工具包( SDK ),使用户能够使用 GPU 轻松加速和缩放量子电路模拟。一种 计算状态向量的自然工具 ,它使用户能够模拟比现在的量子计算机更深(更多的门)和更宽(更多的量子比特)的量子电路。

cuQuantum 包括最近发布的 NVIDIA cuQuantum Appliance ,这是一个具有多 GPU 、多节点状态向量仿真支持的部署就绪软件容器。 NVIDIA cuStateVec 中也提供了通用的多 GPU API ,可轻松集成到任何模拟器中。

对于张量网络模拟, cuQuantum cuTensorNet library 提供的切片 API 支持分布在多个 GPU 或多个节点上的加速张量网络收缩。现在还提供了一个更高级别的 API ,使多节点更容易实现,使用户可以利用 NVIDIA A100 系统,实现近乎线性的强大扩展。

本文将深入探讨 NVIDIA cuQuantum Appliance 的多节点状态向量模拟。有关相关信息,请参见 Achieving Supercomputing-Scale Quantum Circuit Simulation with the NVIDIA cuQuantum Appliance

ABCI 2.0 超级计算机上 cuQuantum 设备的功能

去年, NVIDIA 参加了 AI Bridging Cloud Infrastructure (ABCI) 大型挑战赛,以测试多节点 cuQuantum 设备的功能及其系统配置。 ABCI 是由日本国家先进工业科学技术研究所( AIST )主办的超级计算机。

截至 2022 年 11 月, ABCI 2.0 在 TOP500 list 排名第 22 位,以每秒 22.21 PB 的速度执行高性能 Linpack ( HPL )基准测试。截至 2022 年 11 月,该超级计算机在 Green500 list 上排名 32 ,每瓦 21.89 千兆次。

ABCI system 由 1088 个计算节点组成,其中包括 4352 个 NVIDIA V100 GPU (称为“计算节点( V )”),以及 120 个计算节点,其中包括 960 个 A100 GPU (称为”计算节点( A )“)。 NVIDIA cuQuantum 团队与 NVIDIA Ampere 架构节点合作,测试了一系列电路,以及一系列精度的解决方案精度。

ABCI 计算节点( A ) GPU 系统为 NVIDIA A100 40 GB ,每个节点 8 GPU ,第三代 NVLink 。它们的理论峰值为 19.3 PB ,理论峰值内存带宽为 1555GB / s 。节点与 InfiniBand HDR 连接。

ABCI 计算节点上的量子计算性能基准( A )

运行了与应用研究和量子计算机基准测试相关的三种常用算法。

这三个基准利用了多节点 cuQuantum 设备:量子体积、量子近似优化算法( QAOA )和量子相位估计( QPE )。量子体积电路的深度为 10 ,深度为 30 。 QAOA 是一种常用的算法,用于解决组合优化问题,例如在相对较短的量子计算机上进行路由和资源优化。

NVIDIA 运行 QAOA , p = 1 。 QPE 是许多容错量子算法的关键子例程,具有广泛的应用,包括 Shor 的因子分解算法和一系列化学计算,如分子模拟。所有三种常见的量子算法都证明了弱缩放(图 1 和图 2 )。

此外,用量子体积检验了强缩放(图 3 和图 4 )。 cuQuantum 设备有效地将 ABCI 计算节点( A )变成了完美的 40-41 量子比特量子计算机。很明显,扩展到像 ABCI 这样的超级计算机对于加快解决时间和扩展研究人员可以利用状态向量量子电路模拟技术探索的相空间都很有价值。

Chart showing scaling state vector-based quantum circuit simulations from 30 to 40 qubits, for Quantum Volume, depths 10, 30, QAOA with 2 Parameters, and Quantum Phase Estimation. All runs were conducted on multiple GPUs, up to 512 total NVIDIA A100 40GB GPUs on AIST’s ABCI supercomputer, made easy by the cuQuantum Appliance multi-node capability. C128 precision leveraged.
图 1 。 NVIDIA cuQuantum Appliance 多节点弱扩展性能,从 30 到 40 量子位,用于复杂 128

测试目标之一是比较复杂 128 ( c128 )和复杂 64 ( c64 )实现之间的差异。当降低精度时,结果表明可以为额外的量子位使用更多的内存。然而,重要的是要确认,降低的精度并不是以从模拟中产生有用结果为代价实现的。该实验使用量子相位估计 calculate the number pi ,其测量到 16 位并匹配。

Chart showing scaling state vector-based quantum circuit simulations from 30 to 40 qubits, for Quantum Volume, depths 10, 30, QAOA with 1 Parameter, and Quantum Phase Estimation. All runs were conducted on multiple GPUs, going up to 512 total NVIDIA A100 40GB GPUs on AIST’s ABCI supercomputer, made easy by the cuQuantum Appliance multi-node capability. C64 precision leveraged.
图 2 : cuQuantum Appliance 多节点弱扩展性能,从 30 到 40 量子位,用于复数 64

测试结果表明,由于精度较低,缩放性能较差。 cuQuantum Appliance 用户可以期望利用较低的精度,并确信性能和精度受到的影响最小。

Chart showing strong scaling state vector based quantum circuit simulations of quantum volume at both depth of 10 and 30. Simulations held at 31 and 34 qubits. All runs were conducted going up to 512 total NVIDIA A100 40GB GPUs on AIST’s ABCI supercomputer, made easy by the cuQuantum Appliance multi-node capability. C128 precision leveraged.
图 3 。 cuQuantum Appliance 对深度为 10 和 30 的量子体积的多节点强大缩放性能,适用于具有复杂 128 精度的 31 和 34 个量子比特

进行了其他测量,以测试 cuQuantum Appliance 多节点功能的强大扩展性。这些数字是用深度 10 和深度 30 的量子体积电路生成的。这两个结果都是针对 31 和 34 量子位量子体积测量的。

图 3 显示了使用增量 GPU 和复杂 128 精度时的性能指标。很明显,扩展到多个节点可以节省一系列问题大小的时间。

Chart showing strong scaling state vector-based quantum circuit simulations of quantum volume at both depth of 10 and 30. Simulations held at 32 and 35 qubits. All runs were conducted going up to 512 total NVIDIA A100 40GB GPUs on AIST’s ABCI supercomputer, made easy by the cuQuantum Appliance multi-node capability. C64 precision leveraged.
图 4 。 cuQuantum Appliance 对深度为 10 和 30 的量子体积的多节点强缩放性能, 32 和 35 量子位,复杂 64 精度

NVIDIA cuQuantum 团队进行了额外的实验,改变了图 4 所示的精度。该图显示了量子体积在深度 10 和深度 30 处再次运行。在本例中,模拟保持在 32 和 35 个量子位,并分布在 ABCI 计算节点( A )上的 512 个 NVIDIA A100 40GB GPU 上。

执行时间从 8 跳到 16 GPU 与将工作负载分配到两个节点而不是一个节点的额外初始化开销有关。当将节点缩放到任意大的数量时,这一成本很快就会被分摊。

比较 cuQuantum 设备性能

用户可以使用更新的 NVIDIA cuQuantum 设备实现规模化。 cuQuantum 基准测试总共运行了 40 个量子位, 64 个 A100 40 GB 节点。然而,用户仅限于可访问的数量 GPU 。现在可以轻松缩放模拟,无需更改现有 Qiskit 代码,并且比没有 cuQuantum Appliance 的先前实现快 81 倍。

Chart showing scaling state vector-based quantum circuit simulations from 30 to 40 qubits, of Quantum Volume with a depth of 10. cuQuantum Appliance and Qiskit Aer multi-node was run on NVIDIA A100 40GB GPUs on AIST’s ABCI supercomputer. The cuQuantum Appliance scaled up to 512 GPUs (64 nodes), made easy by our new multi-node capability. At 36 qubits, the cuQuantum appliance is up to 62x faster than Qiskit multi-node on the same GPUs, and 3.4x faster than mpiQulacs on Fujitsu’s A64FX CPU.
图 5 。与 Qiskit Aer 多节点和 mpiQulac 相比, cuQuantum Appliance 多节点在 ABCI 上从 30 到 40 量子位的扩展性能较弱

NVIDIA 还与名为 mpiQulacs 的非常快速的多节点全状态矢量量子电路模拟器进行了对比。这是一个令人印象深刻的模拟器,它是为在富士通 A64FX CPU 架构上运行而开发的。 2022 年 3 月,他们宣布了多节点模拟器在量子体积深度为 10 、量子比特数为 36 的情况下的性能结果。 NVIDIA cuQuantum 设备现在使用户可以在 ABCI 2.0 超级计算机上使用 c128 扩展到 40 个量子位,或使用 c64 扩展到 41 个量子位数,具有同类最佳性能。

对 NVIDIA Hopper GPU 进行的其他初步测试表明,使用新的 NVIDIA H100 GPU , cuQuantum Appliance 多节点性能数字将比此处显示的结果提高约 2 倍。

NVIDIA 的 cuQuantum 团队正在大规模加速状态向量模拟。 cuQuantum 实现了规模化和同类最佳性能,显示了节点间的弱伸缩性和强伸缩性。此外,先前宣布的结果已经在 AIST ABCI 2.0 超级计算机上进行了外部验证,显示了不同 HPC 基础设施的通用性。

NVIDIA 还推出了第一个 cuQuantum 驱动的 IBM Qiskit 图像。如今,用户可以拉动这个容器,从而更容易、更快地使用这个流行的框架来扩展量子电路模拟。

cuQuantum 团队已经开始将这些多节点 API 带给更广泛的开发者,并将在下一个 cuQuantum 版本中包含这些 API 。

开始使用 cuQuantum 设备

多节点 cuQuantum 设备现已上市。您可以直接从 NGC catalog for containers 访问它。要请求功能或报告错误,请联系 GitHub 上 NVIDIA/cuQuantum 的 cuQuantum 团队。

其他资源

 

Tags