本文转载自:量子加速超级计算简介(2024年 3月 13日) By Mark Wolf
https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/
文章目录
- 一、概述
- 二、量子计算机的构建块:QPU 和量子位
- 三、量子计算硬件和算法
- 四、QPU 可以加速哪些工作流程?
- 五、超级计算机如何助力量子计算?
- 六、启用量子加速工作流程
- 七、探索量子加速超级计算
一、概述
开发有用的 量子计算 是一项涉及政府、企业和学术界的全球性工作。
量子计算的优势可以帮助解决一些与应用程序(如材料模拟、气候建模、风险管理、供应链优化和生物信息学)有关的全球性挑战。
实现量子计算的优势需要将量子计算机集成到现有的超级计算基础架构和科学计算工作流程中,并允许领域科学家使用熟悉的语言和熟悉的工具对其进行编程。
这种工作流程的普及和开发强大可靠的软件堆栈正是使 GPU 能够革新超级计算的关键所在。
从使加速计算成功的框架开始构建是量子计算从研究项目到助力科学发展的关键。
这种理念称为量子加速超级计算。
本文提供了关于量子计算机的基础知识,以及量子加速超级计算如何利用其优势并解决其弱点的见解。
文末还提供了开发者构建可扩展且高性能的量子加速工作流程的一些实际注意事项,这些工作流程将随着量子计算机的发展而扩展。
视频1. 探索量子加速超级计算的前沿世界
二、量子计算机的构建块: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 状态的经典比特,量子比特可以同时存在于这两种状态的组合中,因此可以更灵活地编码信息。
这种现象称为超级叠加,也是为什么拥有 量子位可以存储呈指数级增长的数量 () 的经典信息。
多个量子位点通过名为干涉和相互作用的现象进行交互,从而能够以独特的方式处理量子信息。
不可以直接访问完整的量子状态。
量子计算机输出信息的唯一途径是通过测量每个量子位,返回 0 或 1 的随机概率,并将它们的超级状态聚合到相应的经典状态。
许多重复测量 (样本) 的分布提供了对量子状态不可直接观察的额外见解。
量子位的状态通常表示为图 1 中的 Bloch 球体上的向量。
图 1.量子位是一种小型物理对象,例如原子或超导体,可以表现出量子效应
三、量子计算硬件和算法
量子计算可以简化为两个主要组件:硬件 (QPU) 和量子算法。
硬件是一种非常复杂且精密设计的设备,用于保护、操纵和测量量子位。
许多类型的量子位被用于构建 QPU,每种类型都需要完全不同的硬件设计。
例如,捕捉离子 QPU 通过激光运行量子位,而超导 QPU 则使用微波脉冲运行量子位。
每种架构都具有与量子位质量、速度、可扩展性等有关的优缺点。
量子位 (qubit) 非常敏感于环境,即使是微小的干扰也会导致量子信息混乱 (decoherence),从而导致计算错误。
避免混乱非常困难,是实现有用的 QPU 的主要障碍。
量子计算的第二个方面是量子算法。
量子算法是一组数学运算,用于在测量系统中的两个量子位的情况下操控存储在一组量子位中的量子信息,以产生有意义的结果。
量子算法通常以量子电路的形式表示,如图 2 所示。
两条水平线表示系统中的两个量子位,从 |0>状态。
以下框和线表示单位或双位量子门操作。
图 2.简单的量子电路,描述两个量子位的相互关联
量子算法的设计非常复杂,因为它必须解决一个由经典信息组成的真实问题,并以一种可映射到量子系统、操作为量子信息的方式将其转换为量子解决方案,然后再将其转换回经典解决方案。
通常,一个成功的量子算法会有效准备一个量子状态,当多次采样时,它会以高概率产生“正确答案”。
量子电路中的每个操作都与目标量子比特进行了极其精确的物理交互,并引入了系统中的噪声,噪声可以快速累积并产生不一致的结果。
为了运行实用的量子算法,量子误差校正 (QEC) 代码必须使用多个噪声量子比特来编码逻辑量子比特,以保护量子信息。
量子误差校正 (QEC) 代码的开发仍然是解决 QPU 上实际问题的重大障碍之一。
四、QPU 可以加速哪些工作流程?
有一种常见的误解是,QPU 将加速任何类型的计算。
这可能不是真的,因为 QPU 非常适合执行非常特定的任务。
一个量子计算机的主要弱点是,只能通过非确定性测量 生成长度为 256 位的比特字符串 因此,了解在 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 和量子算法的改进,它们可以解决的重要问题的规模和性质将不断扩大。
今天开发和测试量子工作流程是为了做好准备,以便在开发者关心的问题出现时使用量子加速超级计算来解决这些问题。
以下是有关开发者制作稳健且适用于实际应用的量子加速工作流程的一些注意事项。
- 无 QPU 偏见:应用程序需要能够针对不同的 QPU 进行适当的定位,并且尽可能减少代码修改。
硬件中立开发可以节省开发者时间并提供更大的算法执行自由度。 - **与经典架构集成:**由于 QPU 需要来自超级计算机的庞大运营支持,因此必须开发工作流程,以便它们可以轻松集成到可扩展的 CPU 和 GPU 架构中。
低延迟连接非常重要,因此需要专门的架构来处理时间敏感型任务,例如 QEC。 - 高性能库:为了确保 QPU 的可扩展性,必须开发和使用高度优化的软件库,以便在必要的时间限制内高效执行所有经典任务。
- 可访问性:量子计算是一种高度跨学科的技术,需要与领域科学家进行直接互动。
开发必须在易于访问的环境中进行,用户来自各种计算背景。 - 用户灵活性:使用最终工作流程的人需要能够以他们的首选级别与代码进行交互。
同一应用程序的用户的首选级别可以从黑盒到高度可定制的研究实施各不相同。 - 稳定性:关键在于,任何量子开发都应在稳定的平台上进行,并与量子生态系统同步发展。
七、探索量子加速超级计算
NVIDIA 正在与整个量子生态系统的合作伙伴合作,开发功能强大、可扩展且易于使用的工具,使政府、大学和工业公司能够构建有用的量子加速超级计算应用程序。
如需了解更多信息,请访问 NVIDIA 量子计算 。
我们期待您亲自或虚拟地参加 NVIDIA GTC 2024 会议,共同定义量子加速超级计算机。
2024-05-28(二)