量子加速超算简介
有用的量子计算的发展是全球政府、企业和学术界的巨大努力。 量子计算的优势可以帮助解决世界上一些与材料模拟、气候建模、风险管理、供应链优化和生物信息学等应用相关的最具挑战性的问题。
要实现量子计算的优势,需要将量子计算机集成到现有的超级计算基础设施和科学计算工作流程中,并使领域科学家能够使用熟悉的语言和熟悉的工具对其进行编程。
这种工作流程的民主化以及强大且高性能的软件堆栈的开发正是 GPU 能够彻底改变超级计算的原因。 对于量子计算机从研究项目发展到科学推动者来说,基于使加速计算取得成功的相同框架进行构建至关重要。 这个想法被称为量子加速超级计算。
这篇文章提供了对量子计算机以及量子加速超级计算如何利用其优势并克服其弱点的基本了解。 最后,为希望构建强大且高性能的量子加速工作流程的开发人员提供了一些实际考虑因素,该工作流程将随着量子计算机的发展而扩展。
量子计算机的构建模块:QPU 和量子位
量子加速超级计算利用量子处理单元 (QPU: quantum processing units) 来执行量子计算任务。 QPU 的核心是称为量子位或量子位的两级量子物理系统的集合。 量子位可以通过多种方式创建,当前的方法利用捕获离子、光偏振和通过超导回路的电流等。
与只能处于 0 或 1 状态的经典位相反,量子位可以同时存在于两种状态的组合中,从而能够更加灵活地编码信息。 这称为叠加,这就是为什么具有 N 个量子位的 QPU 可以保存指数量 (2^N) 的经典信息。 多个量子位通过称为纠缠和干扰的现象相互作用,这允许以独特的方式处理量子位内保存的量子信息。
完整的量子态永远无法直接访问。 量子计算机输出信息的唯一方式是测量每个量子位,该量子位概率性地返回 0 或 1,并将其叠加折叠到相应的经典态。 许多重复测量(样本)的分布提供了对无法直接观察到的量子态特性的额外见解。 量子位的状态通常表示为下图所示布洛赫球上的向量。
量子计算硬件和算法
量子计算可以简化为两个主要组成部分:硬件(QPU)和量子算法。 硬件是一种极其复杂和精确设计的设备,可以保护、操纵和测量量子位。
用于构建 QPU 的量子位有很多种,每种类型都需要完全不同的硬件设计。 例如,俘获离子 QPU 通过激光对量子位进行操作,而超导 QPU 通过微波脉冲进行操作。 每种架构都有与量子位质量、速度、可扩展性等相关的优缺点。
量子位对环境极其敏感,即使是最小的扰动也会导致退相干(量子信息的破坏)并导致错误的计算。 避免退相干是极其困难的,也是实现有用的 QPU 的主要障碍。
量子计算的第二个方面是量子算法。 量子算法是一组数学运算,用于操纵存储在一组量子位中的量子信息,以便在测量量子位时产生有意义的结果。 量子算法通常表示为量子电路,如下图所示。两条水平线代表系统中从 |0> 状态开始的两个量子位。 以下框和线代表单量子位门操作或两个量子位门操作。
量子算法的设计很复杂,因为它必须采用由经典信息组成的现实世界问题,并将其表述为可以映射到量子系统,作为量子信息进行操作,然后转换回经典信息。 解决方案。 一般来说,成功的量子算法将有效地准备一个量子态,当多次采样时,该量子态很有可能产生“正确答案”。
量子电路中的每个操作都对应于与目标量子位的极其精确的物理相互作用,并向系统中引入噪声。 噪声会迅速累积并产生不连贯的结果。 为了运行实用的量子算法,需要量子纠错(QEC)代码,以确保通过使用许多有噪声的物理量子位对逻辑量子位进行编码来保护量子信息。 开发鲁棒且高效的 QEC 代码仍然是解决 QPU 实际问题的最大障碍之一。
QPU 可以加速哪些工作流程?
人们普遍误解 QPU 可以加速任何类型的计算。 情况可能并非如此,因为 QPU 非常适合非常特定的任务。 量子计算机的主要弱点之一是,信息只能通过 N 个量子位的不确定性测量来提取,以产生长度为 N 的位串。因此,了解理论证明或已证明的问题类型非常重要。 预计在 QPU 上有有效的实现,如下所列。
- 模拟量子系统:QPU,即量子系统本身,自然擅长模拟其他量子系统。 这可以使各种基础科学成为可能,从探索新的化学反应和材料到解开高能物理的奥秘。
- 优化:QPU 中保存的指数级信息量可以允许新方法旨在为大型组合优化问题找到更好的解决方案,从而使包括路线规划、网格优化、遗传学和投资组合选择在内的各种用例受益。
- 人工智能和机器学习:QPU 的特性使其能够从复杂的分布中构建和采样,并部署新颖的方法来查找高维数据集中的模式。 这些技术具有高度可移植性,几乎可以使科学和工业的所有领域受益。
- 蒙特卡罗估计:QPU 可以获得蒙特卡罗估计的理论二次加速,这将提高获取风险指标和财务预测的准确性和速度,这对于获得市场优势至关重要。
- 流体动力学:空气动力学、天气和水库模拟是多尺度问题的例子,其中微分方程组需要使用大网格以极高的精度求解。 QPU 正在被探索作为求解微分方程组的工具,从而实现更精确的流体动力学模拟。
这些只是 QPU 的一些潜在应用。 随着硬件和算法研究的继续,这个列表很可能会扩大,并且将会发现超出我们目前理解的新颖的应用程序和用例。
超级计算机将如何实现量子计算?
关于 QPU 的第二个误解是,它们会降低当今计算机的重要性,因为它们有效地执行通常为大量超级计算资源保留的子例程。 QPU 的固有限制很快就证伪了这一概念。 部署任何量子加速工作流程都需要高性能 CPU 和 GPU 以及尖端人工智能技术的大力支持。 在实践中,量子加速超级计算可以实现更大的灵活性,因此每个处理器都可以完成最适合的任务。
量子纠错(QEC)之前被讨论为实际量子计算的先决条件。 QEC 是一个很好的例子,说明了 QPU 与 HPC 设备的紧密耦合是多么必要。 QEC 代码需要重复编码逻辑量子位、执行逻辑运算和解码错误。
当量子算法运行时,大部分工作需要在辅助 CPU 和 GPU 上实时进行。 经典处理器必须与QPU紧密耦合; 否则,延迟可能会使 QEC 程序变得异常缓慢。 许多 QEC 代码可能需要快速执行计算密集型机器学习程序,而这需要可扩展的加速计算。
除了 QEC 之外,在量子算法之前、之后或期间还需要其他重要的计算任务,例如:
- 优化硬件执行的量子电路编译
- 密集的预处理和后处理例程
- 硬件控制系统的高效管理
- 多 QPU 交互的管理
还需要注意的是,传统超级计算机目前在硬件和软件方面推进量子计算研究方面发挥着关键作用。 量子模拟(即在经典计算机上模拟量子算法)可以获得超出许多物理 QPU 能力的结果,因为量子位仍然存在噪声且数量有限。
这些模拟可以通过多种方式推进量子研究,例如通过生成无噪声基准数据来评估 QPU 噪声分布,或根据新算法的缩放行为确定其可行性。 对于需要最先进的加速计算来突破模拟执行极限的经典处理器来说,量子模拟的成本呈指数级增长。
启用量子加速工作流程
成熟的量子加速超级计算不会在单一时间点达到。 随着 QPU 和量子算法的改进,它们能够解决的有意义问题的规模和性质将不断扩大。 今天开发和测试量子工作流程对于如何以及何时使用量子加速超级计算来解决开发人员关心的问题是必要的。
下面列出了一些有兴趣生成稳健且适合实际应用的量子加速工作流程的开发人员需要记住的一些注意事项。
- QPU 无关:应用程序需要能够以最少的代码修改来适当地针对不同的 QPU。 与硬件无关的开发可以节省开发人员的时间,并在算法执行方面提供更大的自由度。
- 与经典架构集成:由于 QPU 需要超级计算机的大量操作支持,因此必须开发工作流程,以便它们可以轻松地与可扩展的 CPU 和 GPU 架构集成。 低延迟连接对于确保 QEC 等时间敏感任务的专用架构非常重要。
- 高性能库:为了确保 QPU 可扩展性,必须开发和使用高度优化的软件库,以便所有经典任务都能在必要的时间限制内高效执行。
- 可访问性:量子计算是高度跨学科的,需要与领域科学家直接互动。 开发需要在具有不同计算背景的用户可以轻松访问的环境中进行。
- 用户灵活性:无论谁使用最终工作流程,都需要能够在其首选级别与代码进行交互。 同一应用程序的用户可以选择从黑盒到高度可定制的研究实施。
- 稳定性:任何量子开发都发生在一个稳定的平台上并与量子生态系统一起发展是关键。