0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

混合量子经典计算平台QODA

星星科技指导员 来源:NVIDIA 作者:Alex McCaskey 2022-10-10 11:43 次阅读

在过去的十年里,量子计算从学术实验室跃入主流。创业公司和大公司都在努力制造更好的量子计算机。虽然目前尚不清楚我们离在常见问题上使用量子优势还有多远,但很明显,现在是构建交付有价值的量子应用所需工具的时候了。

首先,我们需要在理解量子算法方面取得进展。去年, NVIDIA 发布了 cuQuantum ,这是一款用于加速量子计算模拟的软件开发工具包( SDK )。在 GPU 上使用 cuQuantum 模拟量子威廉希尔官方网站 ,使算法研究的性能和规模远远超过了目前在量子处理单元( QPU )上可以实现的性能和规模。这为在理解如何充分利用量子计算机方面取得突破铺平了道路。

除了改进量子算法外,我们还需要充分利用 QPU 以及经典计算资源 CPU 和 GPU 。如今, NVIDIA 宣布推出 量子优化设备架构( QODA ) 是一个混合量子经典计算平台,其使命是实现这一效用。

随着量子计算的发展,所有有价值的量子应用都将是混合的,量子计算机将与高性能经典计算一起工作。 GPU 纯粹为图形而创建,并转化为 high-performance computing ( HPC )的基本硬件。这需要新的软件来实现强大而直接的编程。量子计算机从科学实验向有用加速器的转变也需要新的软件。

量子软件的这一新时代将实现性能混合计算,并为更广泛的科学家和创新者群体增加量子计算机的可访问性。

量子编程景观

在过去五年中,针对小规模、噪声量子计算架构的量子编程方法得到了发展。这一发展对算法开发人员来说意义重大,并使标准量子算法以及混合变分方法的早期原型化成为可能。

由于缺乏量子资源和硬件实现的实用性,大多数编程方法都处于纯 Python 级别,支持远程、基于云的执行模型。

随着量子体系结构的改进和算法开发人员考虑现有经典异构计算的真正量子加速,问题出现了:我们应该如何在传统高性能计算环境中支持量子协处理?

NVIDIA 是开发高性能计算编程模型、异构编译器平台和高级应用程序库的真正先驱,这些应用程序库可以通过一个或多个应用程序加速传统的科学计算工作流 NVIDIA GPU 。

我们将量子计算视为异构高性能计算系统架构的另一个元素,并设想了一种编程模型,该模型将量子协处理无缝地结合到我们现有的系统中 CUDA 生态系统 。 在这方面,目前从 Python 语言级别开始的方法是不够的,最终将限制经典和量子计算资源的性能集成。

QODA 用于高性能计算

NVIDIA 正在开发一个开放规范,用于在高性能计算环境中编程混合量子经典计算架构。我们宣布 QODA 编程模型规范和相应的 NVQ ++编译器平台,支持后端不可知(物理、模拟)、单源、现代 C ++方法来实现量子加速高性能计算。

QODA 与现有的经典并行编程模型(如 CUDA 、 OpenMP 和 OpenACC )具有内在的互操作性。该编译器实现还将量子经典 C ++源代码表示降低为二进制可执行文件,这些二进制可执行文件本机以支持量子的模拟后端为目标。

该编程和编译工作流程通过与 GPU 处理和威廉希尔官方网站 模拟的标准互操作性,实现了一个性能良好的编程环境,用于加速混合算法的研究和开发活动,这些处理和威廉希尔官方网站 模拟可以从笔记本电脑扩展到分布式多节点、多 GPU 架构。

auto ghz = [](const int N) __qpu__ {
  qoda::qreg q(N);
  h(q[0]);
  for (auto i : qoda::irange(N-1)) {
    cnot(q[i], q[i+1]);
  }
  mz(q);
};

// Sample a GHZ state on 30 qubits
auto counts = qoda::sample(ghz, 30);
counts.dump();

如代码示例所示, QODA 提供了一种类似 CUDA 的基于内核的编程方法,以现代 C ++为中心。您可以将量子设备代码定义为独立的函数对象或带有 _uqpu_uu 注释的 lambda ,以指示将编译到量子设备并在其上执行。

通过依赖自由函数上的函数对象( ZCK0 内核方法),您可以实现一种高效的方法来构建通用标准量子库函数,该函数可以将任何量子内核表达式作为输入。

这方面的一个简单示例是标准采样 QODA 函数(qoda::sample(。..)),它将量子内核实例和任何具体参数作为输入,并将观察到的量子比特测量位字符串的熟悉映射返回到相应的观察次数。

QODA 内核程序员可以访问与量子计算相关的某些内置类型(qoda::qubit、qoda::qreg、qoda::spin_op等)、量子门操作以及从 C ++继承的所有传统经典控制流。

前面详细介绍的语言编译方法的一个有趣方面是能够编译包含 CUDA 内核、 OpenMP 和 OpenACC pragmas 以及更高级别的 CUDA 库 API 调用的 QODA 代码。此功能将使混合量子经典应用程序开发人员能够真正利用多 GPU 处理与量子计算。

未来的量子计算用例将需要经典的并行处理,例如数据预处理和后处理、标准量子编译任务和量子纠错的综合征解码。

量子经典应用的早期展望

针对噪声、短期量子计算架构的典型混合量子经典算法是变分量子特征解算器( VQE )。矢量量化方程的目标是根据量子力学的变分原理,计算给定量子力学算子(如哈密顿量)相对于参数化状态制备威廉希尔官方网站 的最小特征值。

为给定的一组栅极旋转参数执行状态准备威廉希尔官方网站 ,并执行一组由量子力学算子的结构决定的测量,以计算这些具体参数的期望值。然后使用用户指定的经典优化器通过改变这些参数来迭代搜索最小期望值。

您可以在 QODA 编程模型中看到类似 VQE 的通用算法的样子:

// Define your state prep ansatz…
auto ansatz = [](std::vector thetas) __qpu__ {
  … Use C++ control flow and quantum intrinsic ops …
};

// Define the Hamiltonian
qoda::spin_op H = … use x, y, z to build up Hamiltonian … ;

// Create a specific function optimization strategy
int n_params = …;
qoda::nlopt::lbfgs optimizer;
optimizer.initial_parameters = qoda::random_vector(-1, 1, n_params);

// Run the VQE algorithm with QODA
auto [opt_val, opt_params] =
    qoda::vqe(ansatz, H, optimizer, n_params);
printf("Optimal  = %lf\n", opt_val);

所需的主要组件是参数化的 ansatz-QODA 内核表达式,在代码示例中显示为采用std::vector《double》的 lambda 。

这个 lambda 的实际主体取决于当前的问题,但您可以自由地使用标准 C ++控制流、作用域内量子内核调用和量子内在操作的逻辑集来构建这个函数。

下一个需要的组件是您需要计算其期望值的运算符。 QODA 将它们表示为内置的spin_op类型,您可以通过 Pauli x(int)、y(int)和z(int)函数调用以编程方式构建它们。

接下来,您需要一个经典的函数优化器,这是 QODA 语言规范中的一个一般概念,用于将子类化为特定的优化策略,基于梯度或无梯度。

最后,该语言公开了用于调用整个 VQE 工作流的标准库函数。它在 QODA 内核实例上参数化,该实例建模状态准备 ansatz ,该运算符需要以下值:

最小特征值

经典优化实例

变分参数的总数

然后返回一个结构化绑定,该绑定对状态准备威廉希尔官方网站 的最优特征值和相应的最优参数进行编码。

前面的工作流非常通用,有助于开发变分算法,这些算法最终在量子核表达式、感兴趣的自旋算子和经典优化例程方面是通用的。

但它也展示了 QODA 编程模型的基本原理:提供描述量子代码表达式的核心概念,然后促进通用函数标准库的实用性,从而实现混合量子经典算法的可组合性。

QODA 早期兴趣计划

量子计算机有望帮助我们解决一些最重要的问题。我们正在向高性能计算和人工智能已经发挥关键作用的领域的科学家和专家开放量子计算,并实现当今最好的现有软件与量子软件的轻松集成。这将大大加速量子计算机实现其潜力。

关于作者

Alex McCaskey 是 NVIDIA 的高级量子计算软件架构师。他的工作重点是异构量子经典计算的编程模型、编译器和语言。在过去,他领导了许多开源量子软件项目,包括 XACC 系统级量子框架和 QCOR 量子经典 C ++编译器平台。他于 2010 年获得田纳西大学物理学和数学学士学位,并于 2014 年获得弗吉尼亚理工大学和州立大学物理学硕士学位。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10863

    浏览量

    211767
  • NVIDIA
    +关注

    关注

    14

    文章

    4986

    浏览量

    103058
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4740

    浏览量

    128949
收藏 人收藏

    评论

    相关推荐

    英伟达与谷歌联手加速量子计算设备设计

    处理器的复杂物理过程。这一举措旨在深入探索量子计算的潜力,为下一代设备的研发提供有力支持。 此外,谷歌还将借助英伟达提供的混合量子-经典
    的头像 发表于 11-21 11:08 400次阅读

    玻色量子与北京理工大学达成量子计算合作

    2024年10月,北京玻色量子科技有限公司(以下简称“玻色量子”)与北京理工大学达成合作。此次签约,双方将在“量子计算+智能制造”行业领域,围绕大规模复杂离散制造过程的调度难题,联合研
    的头像 发表于 11-01 13:35 242次阅读

    【《计算》阅读体验】量子计算

    经典计算机的能力。 量子计算的重要性在于三点。首先,量子计算对强丘奇-图灵论题提出了明确挑战。强
    发表于 07-13 22:15

    QPU与GPU,经典超算和量子计算的协同

    电子发烧友网报道(文/李宁远)不久前在国际超算大会ISC上, NVIDIA宣布将通过开源的 NVIDIA CUDA-Q量子计算平台,助力全球各地的国家级超算中心加快量子
    的头像 发表于 05-21 01:35 2552次阅读

    英伟达CUDA-Q平台推动全球量子计算研究

    经典超算的深度整合。该平台的重要特性在于其支持量子计算与AI人工智能的完美结合,为解决量子比特噪声问题提供了新思路,并有助于开发出更加高效
    的头像 发表于 05-14 11:45 656次阅读

    NVIDIA通过CUDA-Q平台为全球各地的量子计算中心提供加速

    德国、日本和波兰的超级计算机利用 Grace-Hopper 和量子-经典加速超算平台推进量子计算
    的头像 发表于 05-14 09:15 357次阅读

    NVIDIA 通过 CUDA-Q 平台为全球各地的量子计算中心提供加速

    德国、日本和波兰的超级计算机利用 Grace-Hopper 和量子-经典加速超算平台推进量子计算
    发表于 05-13 15:21 200次阅读
    NVIDIA 通过 CUDA-Q <b class='flag-5'>平台</b>为全球各地的<b class='flag-5'>量子</b><b class='flag-5'>计算</b>中心提供加速

    英伟达帮助日本建造混合量子超级计算

    英伟达正在帮助日本建造混合量子超级计算机,这是日本国家量子计算计划的一部分。
    的头像 发表于 04-23 14:54 543次阅读

    量子计算机重构未来 | 阅读体验】 跟我一起漫步量子计算

    首先感谢发烧友提供的试读机会。 略读一周,感触颇深。首先量子计算机作为一种前沿技术,正逐步展现出其巨大的潜力,预示着未来社会和技术领域的深刻变革。下面,我将从几个方面探讨量子计算机如
    发表于 03-13 19:28

    量子计算机重构未来 | 阅读体验】+ 了解量子叠加原理

    作为零基础初学级的量子小白,对神秘诡异的量子世界充满了好奇。说起量子计算机,我有许多问号,量子计算
    发表于 03-13 17:19

    量子计算机重构未来 | 阅读体验】+量子计算机的原理究竟是什么以及有哪些应用

    本书内容从目录可以看出本书主要是两部分内容,一部分介绍量子计算机原理,一部分介绍其应用。 其实个人也是抱着对这两个问题的兴趣来看的。 究竟什么是量子计算机相信很多读者都是抱着
    发表于 03-11 12:50

    量子计算机重构未来 | 阅读体验】+ 初识量子计算

    欣喜收到《量子计算机——重构未来》一书,感谢电子发烧友william hill官网 提供了一个让我了解量子计算机的机会! 自己对电子计算机有点了解,但对
    发表于 03-05 17:37

    量子计算机 未来希望

    自己从事语音识别产品设计开发,而量子技术和量子计算机必将在自然语言处理方面实现重大突破,想通过此书学习量子计算技术,储备知识,谢谢!
    发表于 02-01 12:51

    量子计算,未来已来

    量子计算,神奇神秘,多多学习,与时俱进!
    发表于 02-01 09:05

    量子计算机的作用有哪些

    认为是未来计算机技术的重要发展方向。 一、量子计算机的基本概念 量子计算机的核心是量子比特,与
    的头像 发表于 12-30 14:32 1963次阅读