上海信弘智能科技有限公司,信弘,智能,信弘智能科技,Elite Partner,Omniverse,智能科技,NVIDIA GPU,NVIDIA DGX, vGPU,TESLA,QUADRO,AI,AI培训,AI课程,人工智能,解决方案,DLI,Mellanox,IB, 深度学习,RTX,IT,ORACLE 数据库,ORACLE云服务,深度学习学院,bigdata,大数据,数据安全备份,鼎甲,高性能计算, 虚拟机,虚拟桌面,虚拟软件,硬件,软件,加速计算,HPC,超算,服务器,虚拟服务器,IT咨询,IT系统规划,应用实施,系统集成

ZENTEK 新闻

NVIDIA CUDA-Q 新功能大幅提升量子应用性能

NVIDIA CUDA-Q(前身为 NVIDIA CUDA Quantum)是一个开源编程模型,用于构建量子加速的超级计算应用,充分利用 CPU、GPU 和 QPU 计算能力。目前,开发这些应用面临着很大的挑战,即需要易于使用的编码环境以及强大的量子模拟功能,以便于有效评估和提高新算法的性能。 





CUDA-Q 加入了许多能够显著提高性能的新功能,支持用户突破传统超级计算机的模拟极限。本文将介绍 CUDA-Q 为量子模拟带来的性能提升,并简要说明改进之处。


提高性能


计算期望值是变分量子求解器(VQE)应用中的主要量子任务。在 CUDA-Q 中使用 observe 函数即可轻松计算这些值。我们使用 24 和 28 量子位 VQE 问题测试了最近发布的三个 CUDA-Q 版本的性能,旨在确定两种小分子(C2H2 和 C2H4)的基态能量。该实验使用标准 UCCSD 拟设,并使用 Python 编写。


每个版本(v0.6、v0.7、v0.7.1)的三种状态矢量模拟器后端都进行了测试:nvidia(单精度)、nvidia-fp64(双精度)和 nvidia-mgpu(带有门融合的 nvidia-fp64)。nvidia-mgpu 后面的数字表示门融合级别,以前被硬编码成 6,但在 v0.7.1 中已成为一个可调参数。


门融合(gate fusion)是一种优化技术,将连续量子门组合或合并为单个门,以降低计算总成本并提高电路效率。组合的门的数量(门融合级别)会显著影响模拟性能,因此需要针对每个应用进行优化。现在,可以通过调整 CUDA_MGPU_FUSE 参数,指定不同于 v0.7.1 默认值 4 的自定义门融合级别。


图 1. 24 和 28 量子位 UCCSD-VQE 实验中

10 次 observe 调用的执行时间


图 1 显示了使用 NVIDIA Tensor Core GPU 的每个模拟器和 CUDA-Q 版本的运行时。从 v0.6 到 v0.7.1,没有门融合的两个模拟器的运行速度至少提高了 2 倍。


在 24 和 28 量子位实验中,nvidia-mgpu-6 v0.7.1 模拟器的结果分别比 v0.6 快了 3.2 倍和 4.7 倍。调整门融合级别后,性能分别提高了 12 倍和 1.2 倍,这表明该参数的重要性和系统依赖性。


从 v0.8(尚未发布)开始,nvidia-mgpu 模拟器将成为新的默认设置,能提供最佳的整体性能,并能即时利用多块 GPU 进行多量子比特模拟。


加速代码


CUDA-Q v0.7 包含一系列改进编译和加速连续 observe 调用所需时间的增强功能(图 2)。


首先,即时(JIT)编译路径得到了改进,以便更高效地编译内核。在此之前,该过程与电路中的门的数量呈二次缩放关系,而现在则被缩减为线性缩放关系。


图 2. CUDA-Q v0.7 和 v0.7.1 中包含的变更

及四种 observe 调用的运行时改进


其次,改进了 JIT 变更检测检查的散列,减少了因环境变化而检查是否需要重新编译代码的用时。这几乎消除了每次 observe 调用进行这些检查所需的时间。


最后,无论指定的日志级别是什么,v0.6 都将对每次调用执行所有日志处理。在 v0.7 中,这种做法被更改为只对指定的日志级别执行必要的处理。


除了门融合,0.7.1 还引入了自动 Hamiltonian 批处理功能(图 3),通过在单块 GPU 上实现 Hamiltonian 批处理,进一步缩短 observe 调用的运行时。


图 3. Hamiltonian 批处理带来的加速


为了进一步提高性能,未来的版本将在状态准备、Pauli 算子处理和酉合成等方面做出更多改进。


开始使用 CUDA-Q


当前和预期的 CUDA-Q 改进将为开发者提供一个更高性能的平台,以构建量子加速超级计算应用。如今,不仅开发速度有所加快,而且基于 CUDA-Q 构建的应用还可以部署在实际量子计算所需的混合 CPU、GPU 和 QPU 环境中。


CUDA-Q 快速入门指南将帮助您快速设置环境,基础知识部分将指导用户编写自己的第一个 CUDA-Q 应用。探索代码示例和应用,为自己的量子应用开发工作汲取灵感。如需提供反馈和建议,请点击“阅读原文”,访问 NVIDIA/cuda-quantum GitHub repo。


相关资源


  • GTC会议:将 CUDA Quantum 与量子计算机集成(Integrating CUDA Quantum With Quantum Computers)

  • GTC会议:揭秘 CUDA 调试和性能与强大的开发者工具(Demystify CUDA Debugging and Performance with Powerful Developer Tools)NGC Containers: CUDA Quantum

  • NGC 目录:CUDA Quantum

  • NGC 目录:CUDA Quantum (nightly)

  • SDK:CUDA Quantum

  • SDK:cuQuantum