发行说明

cuQuantum Appliance 24.11

容器中包含的以下组件已更新

新功能

  • 在 CPU 和 GPU 上分配状态向量

  • 使用多个 GPU 的单进程模拟

已解决的问题

  • 在使用 Pauli 字符串计算期望值后,状态向量损坏。

驱动程序要求

基于 CUDA 工具包版本

11.8.0

12.2.2

最低驱动程序版本

470.57.02+ (Linux)

525.60.13+ (Linux)

cuQuantum Appliance 24.03

容器中包含的以下组件已更新

Qiskit 1.0 破坏了与所有先前版本 Qiskit 的兼容性。有关详细信息,请参阅 Qiskit 1.0 迁移指南

已解决的问题

  • 修复了对于包含多个 Register 对象列表的电路,cusvaer 可能返回错误的问题。

驱动程序要求

此 cuQuantum Appliance 24.03 容器版本基于多个 CUDA 工具包版本。下面我们提供了最低所需驱动程序版本的支持矩阵。

基于 CUDA 工具包版本

11.8.0

12.2.2

最低驱动程序版本

470.57.02+ (Linux)

525.60.13+ (Linux)

cuQuantum Appliance 23.10

容器中包含的以下组件已更新

新功能

  • 支持 Arm (aarch64) 架构。

  • 支持 Ubuntu 22.04,包括 Python 3.10

  • 支持在 Qiskit Aer 中使用 cusvaer 后端进行期望值计算。

  • cusvaer 后端中的新选项 cusvaer_diagonal_fusion_max_qubit,用于为对角门启用门融合。

驱动程序要求

此 cuQuantum Appliance 23.10 容器版本基于多个 CUDA 工具包版本。下面我们提供了最低所需驱动程序版本的支持矩阵。

基于 CUDA 工具包版本

11.8.0

12.2.0

最低驱动程序版本

470.57.02+ (Linux)

525.60.13+ (Linux)

cuQuantum Appliance 23.06

容器中包含的以下组件已更新

已解决的问题

  • 修复了 qsim 多 GPU 后端中噪声模拟期间的内存释放错误。

驱动程序要求

此 cuQuantum Appliance 23.06 容器版本基于 NVIDIA CUDA 11.8.0。运行 Cirq/qsim 和 Qiskit/cusvaer 模拟器的最低驱动程序要求是 470.57.02。

cuQuantum Appliance 23.03

容器中包含的以下组件已更新

已解决的问题

  • 修复了当使用多个 GPU 进行模拟时,qsim 可能返回不正确结果的问题。

  • 修复了 qsim 多 GPU 后端问题,即复制到主机 numpy 数组的状态向量元素的顺序可能错乱。当使用八个或更多子状态向量时观察到此症状。

  • 修复了 qsim 多 GPU 后端问题,即活动设备可能在模拟后更改。

  • 修复了当为 gpu_mode 选项提供整数序列时,qsim 多 GPU 后端可能返回错误的问题。

  • 修复了重复运行 cusvaer 后端时的内存分配错误。

  • 修复了 cusvaer 问题,即从 GPU 复制状态向量到主机上的 numpy 数组时,可能发生停顿和状态向量元素错乱。

新示例

  • 添加了 qiskit_ghz.py 示例,以尝试基于 Qiskit 的多节点状态向量模拟器。

驱动程序要求

此 cuQuantum Appliance 23.03 容器版本基于 NVIDIA CUDA 11.8.0。运行 Cirq/qsim 和 Qiskit/cusvaer 模拟器的最低驱动程序要求是 470.57.02。

cuQuantum Appliance 22.11

容器中包含的以下组件已更新

新功能

  • Qiskit-based 多节点状态向量模拟器的首次发布。请参阅 Qiskitcusvaer

驱动程序要求

此 cuQuantum Appliance 22.11 容器版本基于 NVIDIA CUDA 11.8.0。运行 Cirq/qsim 和 Qiskit/cusvaer 模拟器的最低驱动程序要求是 470.57.02。

cuQuantum Appliance 22.07-Cirq

容器中包含的以下组件已更新

新功能

  • 添加新选项 gpu_network 以指定 GPU 数据传输网络的拓扑。通过指定此选项,GPU 之间的数据传输将针对具有交换机 (DGX A100/DGX-2) 或全网状网络 (DGX Station A100/V100) 的网络进行最佳调度。

  • 添加新选项 max_fused_diagonal_gate_size 以启用对角门的门融合。

  • 支持多 GPU 噪声电路模拟。

驱动程序要求

此 cuQuantum Appliance 22.07-Cirq 容器版本基于 NVIDIA CUDA 11.5.1。运行 Cirq/qsim 模拟器的最低驱动程序要求是 470.52。

cuQuantum Appliance 22.03-Cirq

容器中包含的以下组件已更新

已解决的问题

  • 使用 4 个 GPU 的多 GPU 期望值计算(感谢 BNL/CERN 团队的报告)

cuQuantum Appliance 22.02-Cirq

NVIDIA cuQuantum Appliance 22.02 Cirq 的容器镜像可在 NGC 上获得。

  • 针对 NVIDIA DGX A100 优化的新型多 GPU 模拟器后端,具有以下功能

    • 状态向量的采样

    • 对状态向量执行测量

    • 全状态向量模拟

cuQuantum Appliance 22.02-Cirq 容器的内容

此容器包含 Google qsim 的修改版本。它已预构建并安装在容器中以下位置的默认 conda 环境中

/opt/conda/lib/python3.8/site-packages/qsimcirq

容器还包括以下内容

驱动程序要求

此 cuQuantum Appliance 22.02-Cirq 容器版本基于 NVIDIA CUDA 11.5.1,需要 NVIDIA 驱动程序 450 或更高版本。

GPU 要求

此 cuQuantum Appliance 22.02-Cirq 容器版本支持 CUDA 计算能力 7.0 及更高版本。这对应于 NVIDIA Volta、Turing 和 Ampere GPU 架构系列中的 GPU。有关 CUDA GPU 及其计算能力的列表,请参阅 此页面。当使用多 GPU 后端时,所有涉及的 GPU 必须是相互对等可访问的。

已知限制

当使用多 GPU 后端时

  • 来自多 GPU 后端的结果可能会使用单线程在 Python 中聚合。在某些情况下,这会导致比预期更长的运行时间。

  • 量子线路中最大的门或可观测值不得超过最小状态向量分区的大小(例如)具有 3 量子比特门的 3 量子比特电路,其中 n_subsvs > 1 将产生错误。

  • 量子线路的噪声元素将被忽略。相应的无噪声电路将传递到模拟器后端。

  • 混合模拟已禁用。

NVIDIA cuQuantum Appliance 基于 NVIDIA CUDA 基础容器,并且 NVIDIA 容器依赖于使用 NVIDIA_REQUIRE_*约束来支持 CUDA 兼容性检查。CUDA 11.5 中变量的定义方式存在已知问题,用户可能会遇到以下错误

nvidia-container-cli: requirement error: unsatisfied condition: cuda>=11.5, please update your driver to a newer version ...
  • 建议的解决方法是通过定义以下环境变量来禁用约束检查

    • NVIDIA_DISABLE_REQUIRE=1

  • 或者在运行容器时使用 Docker CLI 的附加选项

    • --env NVIDIA_DISABLE_REQUIRE=1