量子加速超级计算简介

news2025/1/16 5:11:29

本文转载自:量子加速超级计算简介(2024年 3月 13日) By Mark Wolf
https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/

文章目录

    • 一、概述
    • 二、量子计算机的构建块:QPU 和量子位
    • 三、量子计算硬件和算法
    • 四、QPU 可以加速哪些工作流程?
    • 五、超级计算机如何助力量子计算?
    • 六、启用量子加速工作流程
    • 七、探索量子加速超级计算


img



一、概述

开发有用的 量子计算 是一项涉及政府、企业和学术界的全球性工作。
量子计算的优势可以帮助解决一些与应用程序(如材料模拟、气候建模、风险管理、供应链优化和生物信息学)有关的全球性挑战。

实现量子计算的优势需要将量子计算机集成到现有的超级计算基础架构和科学计算工作流程中,并允许领域科学家使用熟悉的语言和熟悉的工具对其进行编程。

这种工作流程的普及和开发强大可靠的软件堆栈正是使 GPU 能够革新超级计算的关键所在。
从使加速计算成功的框架开始构建是量子计算从研究项目到助力科学发展的关键。
这种理念称为量子加速超级计算

本文提供了关于量子计算机的基础知识,以及量子加速超级计算如何利用其优势并解决其弱点的见解。
文末还提供了开发者构建可扩展且高性能的量子加速工作流程的一些实际注意事项,这些工作流程将随着量子计算机的发展而扩展。

视频1. 探索量子加速超级计算的前沿世界
https://images.nvidia.cn/cn/youtube-replicates/7D1Toq1hhJU.mp4


二、量子计算机的构建块:QPU 和量子位

量子加速超级计算利用 [量子处理器 (QPU)](https://blogs.nvidia.com/blog/what-is-a-qpu/#:~:text=A QPU%2C aka a quantum,than processors in today’s computers.) 来执行量子计算任务。
QPU 的核心是一组名为量子位的二级量子物理系统。
量子位可以通过各种方式创建,例如利用捕获离子、光振动和通过超导环传输等现有方法。

相较于只能处于 0 或 1 状态的经典比特,量子比特可以同时存在于这两种状态的组合中,因此可以更灵活地编码信息。
这种现象称为超级叠加,也是为什么拥有 N 量子位可以存储呈指数级增长的数量 ( 2 N 2^N 2N) 的经典信息。
多个量子位点通过名为干涉和相互作用的现象进行交互,从而能够以独特的方式处理量子信息。

不可以直接访问完整的量子状态。
量子计算机输出信息的唯一途径是通过测量每个量子位,返回 0 或 1 的随机概率,并将它们的超级状态聚合到相应的经典状态。
许多重复测量 (样本) 的分布提供了对量子状态不可直接观察的额外见解。
量子位的状态通常表示为图 1 中的 Bloch 球体上的向量。

A diagram of a sphere centered at the origin of a set of x, y, and z axis.  The quantum states |0> and |1> are depicted on the north and south poles, which correspond to the intersection of the sphere with the positive z and negative z axis, respectively. A general state |psi>  is represented by a vector originating from the center of the sphere and terminating on the sphere. 图 1.量子位是一种小型物理对象,例如原子或超导体,可以表现出量子效应


三、量子计算硬件和算法

量子计算可以简化为两个主要组件:硬件 (QPU) 和量子算法。
硬件是一种非常复杂且精密设计的设备,用于保护、操纵和测量量子位。

许多类型的量子位被用于构建 QPU,每种类型都需要完全不同的硬件设计。
例如,捕捉离子 QPU 通过激光运行量子位,而超导 QPU 则使用微波脉冲运行量子位。
每种架构都具有与量子位质量、速度、可扩展性等有关的优缺点。

量子位 (qubit) 非常敏感于环境,即使是微小的干扰也会导致量子信息混乱 (decoherence),从而导致计算错误。
避免混乱非常困难,是实现有用的 QPU 的主要障碍。

量子计算的第二个方面是量子算法。
量子算法是一组数学运算,用于在测量系统中的两个量子位的情况下操控存储在一组量子位中的量子信息,以产生有意义的结果。
量子算法通常以量子电路的形式表示,如图 2 所示。
两条水平线表示系统中的两个量子位,从 |0>状态。
以下框和线表示单位或双位量子门操作。

A diagram of a quantum circuit containing two horizontal lines.  Each line represents a qubit. The circuit is read left to right. The state |0>  appears to the left of each horizontal line. Each horizontal line terminates on the left with a box symbolizing a measurement. Between the initial states and the measurement symbols are symbols depicting gate operations on the qubits. 图 2.简单的量子电路,描述两个量子位的相互关联


量子算法的设计非常复杂,因为它必须解决一个由经典信息组成的真实问题,并以一种可映射到量子系统、操作为量子信息的方式将其转换为量子解决方案,然后再将其转换回经典解决方案。
通常,一个成功的量子算法会有效准备一个量子状态,当多次采样时,它会以高概率产生“正确答案”。

量子电路中的每个操作都与目标量子比特进行了极其精确的物理交互,并引入了系统中的噪声,噪声可以快速累积并产生不一致的结果。
为了运行实用的量子算法,量子误差校正 (QEC) 代码必须使用多个噪声量子比特来编码逻辑量子比特,以保护量子信息。
量子误差校正 (QEC) 代码的开发仍然是解决 QPU 上实际问题的重大障碍之一。


四、QPU 可以加速哪些工作流程?

有一种常见的误解是,QPU 将加速任何类型的计算。
这可能不是真的,因为 QPU 非常适合执行非常特定的任务。
一个量子计算机的主要弱点是,只能通过非确定性测量 N 生成长度为 256 位的比特字符串 N 因此,了解在 QPU 上有理论证明或有效实现的问题类型至关重要,如下所列。

  • 模拟量子系统: QPU(量子系统本身)天然擅长模拟其他量子系统。
    这可以实现从探索新的化学反应和材料到揭示高能物理学之谜的各种基础科学。
  • 优化: QPU 中存储的信息量呈指数级增长,这有助于找到更好的解决方案来应对大规模组合优化问题,从而为各种用例(包括路线规划、网格优化、遗传和组合产品选择)带来益处。
  • AI 和机器学习: QPU 的特性使其非常适合构建和采样复杂分布,以及在高维数据集中找到模式。
    这些技术非常可移植,可以为几乎任何科学和工业领域带来益处。
  • 蒙特卡洛估计: QPU 可以为蒙特卡洛估算提供理论上的二次加速,从而提高获取风险指标和金融预测的准确性和速度,从而在市场中获得竞争优势。
  • 流体动力学: 空气动力学、天气模拟和水箱模拟是多尺度问题的示例,这些问题需要使用大型网格来解决差分方程系统。
    QPU 正在探索用于解决差分方程系统的工具,以实现更精确的流体动力学模拟。

这些只是潜在的 QPU 应用程序之一。
随着硬件和算法研究的继续,这一列表可能会扩大,并且可能会发现新的应用程序和用例,这些应用程序和用例超出了我们当前的理解范围。


五、超级计算机如何助力量子计算?

第二个关于 QPU 的误解是,它们将削弱当今的计算机的重要性,因为它们高效地执行通常用于大部分超级计算资源的子程序。
QPU 的本质约束很快证明了这一点。
部署任何量子加速工作流程都需要来自高性能 CPU 和 GPU 以及尖端 AI 技术的大量支持。
实际上,量子加速超级计算能够提供更高的灵活性,因此每个处理器都能完成最适合的任务。

量子误差校正 (QEC) 曾被讨论为实际量子计算的前提条件。
QEC 是一个很好的示例,说明了 QPU 与 HPC 设备的紧密耦合是绝对必要的 .QEC 代码需要重复编码逻辑量子位,执行逻辑运算,并解码错误。

在量子算法运行期间,大部分工作都需要在辅助 CPU 和 GPU 上进行实时处理。
经典处理器必须与 QPU 紧密耦合;否则,延迟可能会使 QEC 程序变得非常缓慢。
很可能,许多 QEC 代码都需要快速执行计算密集型机器学习程序,这些程序需要可扩展的加速计算。

除 QEC 之外,在执行量子算法之前、之后或在执行量子算法期间,还需要执行其他重要的计算任务,例如:

  • 优化硬件执行的量子电路编译
  • 密集型预处理和后处理例程
  • 高效管理硬件控制系统
  • 管理多 QPU 交互

值得注意的是,传统超级计算机在量子计算研究的硬件和软件领域中发挥着重要作用。
通过量子模拟(即在经典计算机上模拟量子算法),可以获得比许多物理量子处理单元(QPU)更准确的结果,因为量子比特仍然存在噪声且数量有限。

这些模拟可以通过各种方式进行量子研究,例如通过生成无噪声基准数据来评估 QPU 噪声分布,或者根据其扩展行为确定新算法的可行性。
对于需要先进加速计算来推动模拟极限的经典处理器,量子模拟的成本会呈指数级增长。


六、启用量子加速工作流程

成熟的量子加速超级计算不会在某一时刻达到。
随着 QPU 和量子算法的改进,它们可以解决的重要问题的规模和性质将不断扩大。
今天开发和测试量子工作流程是为了做好准备,以便在开发者关心的问题出现时使用量子加速超级计算来解决这些问题。

以下是有关开发者制作稳健且适用于实际应用的量子加速工作流程的一些注意事项。

  1. 无 QPU 偏见:应用程序需要能够针对不同的 QPU 进行适当的定位,并且尽可能减少代码修改。
    硬件中立开发可以节省开发者时间并提供更大的算法执行自由度。
  2. 与经典架构集成: 由于 QPU 需要来自超级计算机的庞大运营支持,因此必须开发工作流程,以便它们可以轻松集成到可扩展的 CPU 和 GPU 架构中。
    低延迟连接非常重要,因此需要专门的架构来处理时间敏感型任务,例如 QEC。
  3. 高性能库:为了确保 QPU 的可扩展性,必须开发和使用高度优化的软件库,以便在必要的时间限制内高效执行所有经典任务。
  4. 可访问性:量子计算是一种高度跨学科的技术,需要与领域科学家进行直接互动。
    开发必须在易于访问的环境中进行,用户来自各种计算背景。
  5. 用户灵活性:使用最终工作流程的人需要能够以他们的首选级别与代码进行交互。
    同一应用程序的用户的首选级别可以从黑盒到高度可定制的研究实施各不相同。
  6. 稳定性:关键在于,任何量子开发都应在稳定的平台上进行,并与量子生态系统同步发展。

七、探索量子加速超级计算

NVIDIA 正在与整个量子生态系统的合作伙伴合作,开发功能强大、可扩展且易于使用的工具,使政府、大学和工业公司能够构建有用的量子加速超级计算应用程序。

如需了解更多信息,请访问 NVIDIA 量子计算 。
我们期待您亲自或虚拟地参加 NVIDIA GTC 2024 会议,共同定义量子加速超级计算机。


2024-05-28(二)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1791010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

回炉重造java----JUC(第二天)

Monitor---监视器/管程 对象头: 操作系统提供的Monitor对象 Synchronized底层实现原理: ①锁对象在加了synchronized之后,对象头中的Mark Word中就存了一个Monitor的地址指针。 ②当一个线程获取到锁之后,Monitor中的Owner属性指…

跳跃游戏二

方法一:(双指针法)此题参考跳台阶问题,题目要求求到达最后一个点的最小跳跃次数,那么我们就可以从最后一个往前推,先看谁能离得最远,并且能跳到最后一个。假设i位置是离最后一个位置最远&#x…

python字符串的进阶

在上一篇文章的 密码破解器 中,我们回顾了循环专题的知识点。 while 循环和 for 循环是 Python 中的两大循环语句,它们都可以实现循环的功能,但在具体使用时略有差别。当循环次数不确定时,我们选用 while 循环;当循环…

Flutter Bloc之简单记录

目录 0.库安装 1.插件和自动生成 2.状态的配置 1.初始化中: 2.赋值完成后: 3.如果出错: 3.事件的配置 1.定义一个读取事件 2.定义一个更改事件 4.Bloc的设置 5.Bloc的使用 1.BlocProvider 2.内部调用 参考文章进行类的配置 0.库…

RPA实战演练UiBot6.0校园学生教评机器人

前言 校园学生教评机器人,也称为全自动校园教评RPA(Robotic Process Automation,机器人流程自动化)机器人,是一种利用软件机器人技术来模拟和执行学生教评流程中的各项任务和操作的智能化系统。以下是关于校园学生教评…

【Python绘画】画正方形简笔画

本文收录于 《一起学Python趣味编程》专栏,从零基础开始,分享一些Python编程知识,欢迎关注,谢谢! 文章目录 一、前言二、代码示例三、知识点梳理四、总结 一、前言 本文介绍如何使用Python的海龟画图工具turtle&#…

怎么做好企业短信服务呢?(文字短信XML接口示例)

企业短信服务已经成为各行各业都信赖的行业推广方式之一,并且短信行业也与时俱进的发展着,随之而来的就是市场上短信平台的数量也随之增多。那么怎么在鱼龙混杂的短信行业中选择适合自己的企业短信服务平台呢?企业短信服务平台又适用于哪些应…

④单细胞学习-cellchat细胞间通讯

目录 1,原理基础 流程 受体配体概念 方法比较 计算原理 2,数据 3,代码运行 1,原理基础 原文学习Inference and analysis of cell-cell communication using CellChat - PMC (nih.gov) GitHub - sqjin/CellChat: R toolk…

mysql高级刷题-01-求中位数

题目: 解题代码 select sum(num) / count(num) as median from (select num,row_number() over (order by num desc,id desc ) as desc_math,row_number() over (order by num ,id ) as asc_mathfrom number) as t1 where asc_math in (desc_math, desc…

期末考试后,老师如何发布期末成绩给学生家长查看

当期末的脚步悄然临近,作为班主任,深知期末成绩的发布不仅关系到学生和家长的期待,更是教学成果的重要体现。那么,有没有一种方法,既能保护学生隐私,又能方便家长和学生查询成绩呢? 答案是肯定有…

Python 全栈系列249 IO并发:异步、线程与协程

说明 很久没有关注这方面的问题了,平时大部分时候还是做批量操作 。在这种情况下(CPU密集),异步、协程这些意义就不大了,甚至可能进一步拖慢处理时间。 但是在IO这一块的零碎处理是比较重要的,可以更快,且更省资源。很早的时候&…

css动画案例练习之会展开的魔方和交错的小块

这里写目录标题 一级目录二级目录三级目录 下面开始案例的练习,建议第一个动手操作好了再进行下一个一、交错的小块效果展示1.大致思路1.基本结构2.实现动态移动 2.最终版代码 二、会展开的魔方1.大致思路1.基本结构;2.静态魔方的构建3.让静态的魔方动起来 2.最终版…

使用python绘制华夫饼图

使用python绘制华夫饼图 华夫饼图效果代码 华夫饼图 华夫饼图(Waffle Chart)是一种数据可视化图表,用于显示数据在一个网格中的分布情况。它类似于饼图,通过将数据划分为等大小的方块来表示不同类别的比例。华夫饼图的优势在于它…

图解Mysql索引原理

概述 是什么 索引像是一本书的目录列表,能根据目录快速的找到具体的书本内容,也就是加快了数据库的查询速度索引本质是一个数据结构索引是在存储引擎层,而不是服务器层实现的,所以,并没有统一的索引标准,…

bootstrap5-学习笔记2-模态框+弹窗+tooltip+popover+信息提示框

参考: Bootstrap5 教程 | 菜鸟教程 https://www.runoob.com/bootstrap5/bootstrap5-tutorial.html Bootstrap 入门 Bootstrap v5 中文文档 v5.3 | Bootstrap 中文网 https://v5.bootcss.com/docs/getting-started/introduction/ 之前用bootstrap2和3比较多&#x…

音频信号分析与实践

音频信号分析与实践课程,方便理解音频信号原理和过程 1.音频信号采集与播放 两种采样模式和标准的采样流程 人说话的声音一般在2kHz一下: 采样频率的影响:采样率要大于等于信号特征频率的2倍;一般保证信号完整,需要使用10倍以上的…

Git权限管理

Git权限管理 简介:大家好,我是程序员枫哥,🌟一线互联网的IT民工、📝资深面试官、🌹Java跳槽网创始人。拥有多年一线研发经验,曾就职过科大讯飞、美团网、平安等公司。在上海有自己小伙伴组建的副…

纯血鸿蒙APP开发实战:如何添加TabBar

1.tabbar组件 tabbar组件是移动端开发经常使用的一个组件,底部固定工具栏,顶部tab工具栏等。 2.示例 EntryComponentstruct MainPage {State private selectedIndex: number 0;private controller: TabsController new TabsController()build() {Col…

PHP序列化、反序列化

目录 一、PHP序列化:serialize() 1.对象序列化 2.pop链序列化 3.数组序列化 二、反序列化:unserialize() 三、魔术方法 ​四、NSSCTF相关简单题目 1.[SWPUCTF 2021 新生赛]ez_unserialize 2.[SWPUCTF 2021 新生赛]no_wakeup 学习参考&#xff1…

Python学习从0开始——Kaggle机器学习004总结2

Python学习从0开始——Kaggle机器学习004总结2 一、缺失值二、分类变量2.1介绍2.2实现1.获取训练数据中所有分类变量的列表。2.比较每种方法方法1(删除分类变量)方法2(序数编码)方法3独热编码 三、管道3.1介绍3.2实现步骤1:定义预处理步骤步骤2:定义模型步骤3:创建和评估管道 四…