仿真/建模/设计

NVIDIA CUDA-Q的新功能提升了Quantum应用程序的性能

NVIDIA CUDA-Q公司(前身为NVIDIA CUDA Quantum)是一个用于构建量子加速超级计算充分利用CPU、GPU和QPU公司计算能力。今天开发这些应用程序具有挑战性,需要一个易于使用的编码环境,再加上强大的量子模拟功能,才能有效评估和改进新算法的性能。  

CUDA-Q包含许多显著提高性能的新功能,使用户能够突破经典超级计算机上模拟的极限。本文演示了CUDA-Q在量子模拟中的性能增强,并简要解释了这些改进。

提高性能  

计算期望值是变分量子特征值(VQE)应用程序中的主要量子任务。您可以使用观察功能。最近三次CUDA-Q释放的性能通过24和28量子比特VQE问题进行测试,目的是确定两个小分子(C2H(H)2和C2H(H)4). 实验使用了标准的UCCSD ansatz,并且是用Python编写的。 

对于每个版本(v0.6、v0.7、v07.1),测试了三个状态向量模拟器后端:英维迪亚(单精度),nvidia-fp64型(双精度),以及nvidia-mgpu公司(英伟达fp64带有门融合)。以下数字nvidia-mgpu公司指定门融合电平,以前硬编码为6,但现在是v0.7.1中的可调参数。

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

此图显示了用于量子计算的NVIDIA CUDA-Q软件开发工具包(SDK)不同版本的性能比较。SDK用于在NVIDIA GPU上开发和运行量子计算应用程序。该图显示,最新版本的SDK 0.7.1版本比以前的版本提供了显著的性能改进。例如,在24-qubit系统上,最新版本的SDK比前一版本快7倍。在28-qubit系统上,最新版本的SDK比前一版本快4.7倍。这些性能的提高是由于许多因素,包括对编译器、运行时系统和库的改进。
图1。10的执行时间观察调用24和28比特UCCSD-VQE实验

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

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

这个nvidia-mgpu公司simulator将是v0.8(尚未发布)中的新默认版本,提供最佳的整体性能,并支持立即使用多个GPU进行多量子位模拟。

加速代码

CUDA-Q v0.7包括许多增强功能,可以改进编译并加快连续执行所需的时间观察调用(图2)。 

首先,改进了实时(JIT)编译路径,以更高效地编译内核。以前,此过程与电路中的门数成二次缩放,但被简化为线性缩放。

图中显示了JIT编译器性能的一些显著改进。这些改进大大减少了编译和执行代码所需的时间。
图2。CUDA-Q v0.7和v0.7.1中包含的更改以及对四个版本的运行时改进的表示观察电话

其次,对JIT更改检测检查的散列进行了改进,减少了检查是否由于环境更改需要重新编译任何代码所需的时间。这实际上消除了每次检查所需的时间观察呼叫。 

最后,v0.6将对每个调用执行所有日志处理,而不考虑指定的日志级别。在v0.7中进行了更改,只对指定的日志级别执行必要的处理。

除了门融合之外,0.7.1引入了自动哈密顿分批(图3),这进一步减少了观察调用,通过在单个GPU上启用成批哈密尔顿计算。

图中显示了哈密顿分批处理大大减少了计算哈密顿元素所花费的时间,同时保持了基本电路的执行时间不变。
图3。哈密顿分批加速比的表示

为了进一步提高性能,未来的版本将包括对状态准备、泡利算符处理和幺正合成的更多增强。 

CUDA-Q入门

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

CUDA-Q快速入门指南将帮助您快速设置环境,而基础部分将指导您完成第一次写作CUDA-Q公司应用程序。探索代码示例应用为您自己的量子应用程序开发获取灵感。要提供反馈和建议,请访问NVIDIA/cuda-量子GitHub回购。

相关资源

讨论(0)

标签