量超协同计算发展概述
2023-08-04付耀斌周辉
付耀斌 周辉
(本源量子计算科技(合肥)股份有限公司,合肥 230000)
0 引言
自2019年Google使用Sycamore超导量子处理器取得了“量子优势”之后[1],2021年中国科学技术大学也分别在“祖冲之二号”超导量子计算原型机[2]和“九章二号”光量子计算原型机[3-4]上实现了“量子优势”,量子计算引起社会各界极大的关注,并在研究人员的努力下取得了巨大的进步。在硬件方面,IBM在2022年底公开了其433 Qubit的超导量子处理器Osprey,专注于离子阱量子计算的Quantinuum在2023年5月推出了第二代量子计算机H2,并以65 536量子体积(Quantum Volume,QV)持续保持领先,只是当前物理量子比特比较脆弱,还需要进一步纠错处理[5-6]。2022—2023年,中国科学技术大学[7]和Google[8]分别独立完成了表面码纠错,并证明逻辑错误率随着纠错比特的增加而降低。这表明通过冗余编码实现容错量子计算是可行的,当然需要更多的高质量比特才能最终实现通用的容错量子计算。而实际上,要完成传统计算不能完成的计算任务,或者比传统计算在计算上快得多,至少需要上万个量子比特,或者上千个逻辑比特,目前量子硬件仍然难以支持实际的应用需求。2022年,郑州数学工程与先进计算国家重点实验室、清华大学等提出亚线性资源的量子经典混合大数分解算法,有可能使用372 个含噪声的量子比特分解RSA-2048,相比Elie Gouzien等提出的1.3 万量子比特的方案,比特数需求降低30 多倍,但其双比特门精度需要达到99.999%,目前尚达不到[9-10]。这意味着未来很长一段时间,仍需要考虑含噪声的中型量子(Noisy Intermediate-Scale Quantum,NISQ)硬件[11]的具体应用场景。
由于NISQ设备诸多限制,将量子计算作为超级计算的加速器,是更加切合实际发挥量子优势的方案。Dell、Nvidia、Ampere Computing等已经开始和量子计算企业深度合作,目的是通过量子计算和经典计算设备的协同工作(简称“量超协同”)来开发量子计算的潜力。2022年12月,Dell和Qubit Pharmaceuticals基于量子优化设备架构(Quantum Optimized Device Architecture,QODA)构建混合经典-量子计算软件平台(Atlas),以加速药物发现,并成功地将计算速度提高了10 万倍。同时,欧洲各国对量超协同给予更多重视。2022年2月,欧洲Quantum Flagship发布《European Quantum Computing &Simulation Infrastructure》白皮书,由14 个超算中心以及对量子计算有需求的科研机构联合撰写,其中给出超级计算基础设施集成量子计算机和模拟器的时间节点[12]。2022年10月,欧洲高性能计算联合企业(European High Performance Computing Joint Undertaking,EuroHPC JU)得到欧盟委员会资助并选择6个地区来托管和运行首批量子计算机[13]。
在未被EuroHPC JU选中的国家中,芬兰在2022年11月已经将5量子比特系统HELMI与世界排名第三的超级计算机LUMI成功连接,以实现混合计算项目,并促进所需量子算法和软件的开发。2023年1月,西班牙加利西亚超级计算中心宣布将在2023年内完成量子计算机的安装。国际上紧锣密鼓地规划量超协同的同时,国内的量子计算企业也在积极与超算中心联动。2023年6月,上海超级计算中心与本源量子计算科技(合肥)股份有限公司(简称“本源量子”)联合成立“长三角量超协同创新中心”,成为全国量超协同布局的先行试点。本文将从现阶段量超协同框架的实际需求、实施难点出发,简要介绍国内外多种协同框架的特点,并分析本源量子提出的量超协同框架的细节设计。
1 量超协同架构
自1982年Feynman提出量子计算概念之后[14], Peter Shor于1994年提出了Shor算法[15],首次对量子计算在现实场景下具有实用价值的指数增速优势进行了展示,引起了业界对量子计算的广泛关注。之后,越来越多的量子算法被提出,广为人知的有Grover、HHL、VQE、QAOA等[16]。这些算法在理论上的指数级加速效果进一步吸引许多大型企业(如IBM、Google)以及各国及地区政府的资金注入,使得越来越多的高校研究人员走出实验室成立企业,通过开发量子计算硬件,将量子计算的优势推进至工程验证阶段。研究者们从这个过程中也逐渐意识到:量子硬件的保真度、相干时间等诸多限制使其不可能在短期内实现应用。量超协同方案通过将计算任务分解、调度和派发,实现量子计算机和超算之间的有效融合,在量子资源有限的情况下发挥量子设备的作用,提高计算速度。相较于经典计算,量子计算并非在所有问题上都有优势,难以完全替代现有的经典计算方案[17]。量超协同方案不仅是弥补现阶段量子硬件规模不足的手段,更是未来构建混合型高性能计算装置的核心部分。
1.1 用户交互
一个完整的量超协同计算架构包含用户交互、系统服务、计算后端三层(见图1)。使用者与计算设备的所有交互都经由交互层实现,而不需要知道计算任务提交之后如何工作,因此尽量贴近传统操作系统,符合用户习惯的交互逻辑将带来良好的使用体验。用户可以通过量子应用软件提交计算任务,或者通过量子编程实现。
图1 量超协同基础框架
目前,许多量子企业已经在基于量子算法开发化学模拟、数据检索、人工智能等各种应用软件,由于作为量子计算下游应用端的传统行业尚未深入介入,对量子计算本身的特性又缺乏了解,而量子企业针对某一场景下进行应用开发往往难以抓住痛点,所以大多应用仅停留在可用性演示层面。这些情况导致用户如果不去仔细了解该应用的算法原理,很难直观地感受到量子计算的优势。
对于有编程经验的用户群,或者从事量子计算行业的科研工作者来说,一个能保持稳定更新且用户基础广泛的开发环境更有助于交流和学习。目前,仅国内发布量子语言的企业就不止5 家,它们往往被集成到基于C语言或者Python的编程框架中,相对容易上手,但是过多的选择性以及不同语言在语法上的差异性也会提高用户的学习门槛。
1.2 系统服务
系统服务层包含了操作系统的各功能模块,Henry Corrigan-Gibbs等[18]首次提出量子操作系统,如今国内外已经发展出多种侧重不同的操作系统。操作系统作为量超协同框架的核心部分,不仅包含经典操作系统的大部分基础功能,还需要额外完成对量子比特的校准、量子资源的管理、量子进程的监控等工作。以下简单阐述如何经由系统服务层实现量子-经典并行计算以及异构体系下的数据转化问题。
1.2.1 量子-经典并行计算
量子代码由经典编程语句(Python)和量子语句混合构成,用户的代码经编译器生成可执行程序的过程中,会根据语句标签自动分析,识别出经典部分和量子部分。之后有两种处理方式,一种是穿插式执行,经典程序将直接传递到经典后端执行,遇到量子语句在编译完成后分发到量子计算后端,返回结果后继续执行经典部分,然后重复这一流程。因为代码预处理阶段步骤少,该方式在量子语句密集时速度较快,不适用于量子-经典代码高度混合的情况,不但会浪费大量时间等待量子后端返回结果,而且频繁的跨集群通信会因为量子后端的数据转换效率带来巨大的开销。另一种是在编译完成后,操作系统通过量子程序的标签自动将可执行程序拆分成经典与量子两个部分,然后提交给不同的计算后端同步执行,可以大大提高计算效率。该方法对于用户输入的代码结构以及量子应用的算法模型有较高的要求,需要量子-经典两部分的数据关联度低,从而尽量降低集群间通信频率。
1.2.2 构建针对经典数据、多量子硬件体系的泛用性接口
首先,量子编译器生成的量子程序依然是经典数据模式,量子计算后端在接收到可执行的量子程序、经典计算数据时,需要先经过数据接口转换成量子硬件的控制指令;其次,由于量子算法和软件极度依赖量子硬件,当前的量子计算设备(如超导、离子阱、硅基半导体、光量子等)采用多种不同的实现路线,不同类型量子设备的操控方式也不尽相同,因此该接口还需要将接收到的量子程序翻译成多种不同类型量子硬件的控制指令,并传递到计算后端的任意一台量子计算机执行,提高了泛用性。
1.3 计算后端
量超协同架构的后端由量子计算机和经典计算机两部分组成,根据两种处理器的物理连接方式,可以考虑紧凑式和分布式两种方式。理想的情况下,量子计算机硬件能以一种更紧密的方式与经典计算机硬件结合,从而降低数据传输损耗,例如将量子计算机处理器集成到CPU/GPU上,但由于量子计算机硬件实现的独特方式以及工作环境的苛刻,难度巨大。例如,超导量子计算处理器需要在无磁、无震动、20 mK以下极低温的环境工作,光量子计算处理器也对震动极为敏感,其他路线对环境也有所要求,既要保证经典计算机处理器在该环境下的正常工作,也要保证其工作产生的噪声能被很好地屏蔽。值得期待的是硅基量子点处理器,由于Dzurak[19]、Veldhorst[20]在高温量子比特方向工作,使量子点比特的操控在1 K以上的温度下依然保持很高的准确度,以及对3~4 K低温下C-MOS芯片的研究[21-30],更加了解低温下电子器件的性能,从而降低了硅基量子点和经典计算机处理器的集成难度。
另一种更为可行的方案是采用分布式架构,把量子计算和经典计算作为分隔的计算节点,各自独立执行计算任务,可以提供更灵活的集群部署方式。其中,经典计算集群和量子计算集群的远程系统以及量子硬件后续的扩展需要重点考虑。
远距离协同。一般情况下,量子计算设备出于种种原因并没有部署在经典计算集群附近,为了能在更大的空间尺度上实现远程协同,需要搭建低延迟的通信网络。应注意到,目前量子硬件的相干时间仅有数微秒到数百毫秒,并不适合长距离传输,而且量子信息十分脆弱,量子计算集群应该与经典计算集群采用经典网络互联。另外,鉴于数据转换的开销,应尽量避免频繁地跨集群通信,可以根据量子硬件的性能提前评估计算时间与需要通信的时间节点,进而合理分配经典硬件资源,以降低不同计算后端协同不足带来的结果反馈延迟。
量子硬件扩展。在传统的超算系统中包含大量的计算节点,通过内部组网实现跨节点计算,可以很容易扩展集群规模。类似的,考虑到量子计算硬件进步的速度,量子计算的集群、节点间的扩展方式也应充分考虑。量子叠加性可以带来所谓的“指数并行”优势,一块20 Qubit处理器的计算空间将是两块10 Qubit处理器的500 多倍,因此在技术条件允许的情况下,同类型的量子硬件之间应尽量采用量子通信线路互联,Niu Jingjing等[31]和Kannan Bharath等[32]展示了如何在短距离下实现超导量子比特的传输,Akhtar M和Bonus F等[33]演示了离子阱体系下如何建立高保真链路。另外,对于不同类型的量子硬件,Aishwarya Kumar等[34]利用里德堡原子和超导谐振器之间的强耦合来实现毫米波光子和光学光子之间的相干转换也是未来值得期待的方向。
2 本源量超协同框架
2.1 量子操作系统:本源司南
发挥现阶段量子硬件的潜力,实现量子计算机与经典计算机平台的有效协作,已成为量子计算实用化发展的迫切需求。为了让量子应用程序开发人员只关注量子应用本身,而无需了解底层量子硬件(超导、离子阱等)的物理细节,国内外已经提出多种量子计算操作系统,针对性地解决量子芯片编译、量子芯片调度、量子操作系统框架设计等问题。2020年11月,Riverlane首次对外公布其量子计算操作系统Deltaflow.OS[35-36],该系统可适配多种量子计算体系,包括超导、离子阱、半导体及光量子等。整个系统包含量子计算系统的基本模块,如量子线路编译优化、自动校准等,并着眼于量子纠错。2021年,ParityQC提出了ParityOS系统[37-40],该系统包含量子算法设计及量子线路编译优化等基本模块,不同点在于系统输出是量子算法和对应的量子硬件设计,其主要目标是针对某个实际问题设计专用量子算法,并设计对应的量子计算硬件,通过专用算法优化和硬件设计来实现对实际问题的量子加速。2022年,北京航空航天大学提出一种量子计算操作系统QuOS框架[41],并描述了系统框架的几个核心模块,即量子线路编译优化、多量子任务调度、同步并行及异步并行、量子分布式计算等。
2020年12月,本源司南[42]系统首次对外发布,它是国内首个量子计算操作系统框架。本源司南系统实现整体量子计算操作系统的各种基本功能,集成了一些基本计算服务和中间件服务,并通过OSLib提供了相关系统调用接口,方便用户快速开发上层应用。系统服务包含任务管理、编译优化、调度、资源管理、后端服务等核心模块,各模块通过系统隧道相互协作,完成量子计算工作。在此基础上,本源司南系统根据当前NISQ硬件特性另外提供了三个特色功能。
量子比特自动校准:由于量子比特的错误积累会严重影响计算结果,所以在运行量子任务的同时,本源司南系统会通过自动化校准服务监控并校准量子资源的状态,首先定时检测量子资源中量子比特的状态,若量子比特状态不能满足计算需求,自动化校准服务会通知量子资源管理服务把该量子比特移动到待校准区,并向量子任务调度服务发送校准任务。在量子任务执行过程中,校准任务会被设置为最高优先级,避免量子资源浪费。
量子任务并行计算:在量子计算中,量子程序(量子任务)是量子处理器的最小执行单元。本源司南系统支持多个量子程序在单量子处理器执行并行计算,极大提高量子处理器的使用效率。
多量子处理器负载均衡:多量子处理器负载均衡是量子任务调度服务的核心功能,针对多量子处理器不能有效实现量子通信的情况,这时的多量子处理器只能各自单独工作。用户提交多个计算任务时,本源司南系统会根据提交任务的等待时间和要求服务时间进行自动调配,保证最大化利用多个量子芯片,减少排队时长。
2.2 量超协同工作流程
在本源司南系统的基础上,本源量子构建了量超协同框架,用户通过QRunes语言[43]编写的量子-经典混合应用,经过量子编译器的分析识别后,将对量子程序部分进行转译、量子逻辑门转化、量子程序优化等操作。量子应用被编译为量子-经典混合可执行程序,其中量子程序部分会通过任务形式把量子程序对应的 OriginIR(量子程序中间表示)提交给量子任务调度服务。量子任务调度服务根据当前系统存在的量子任务优先级进行排序,并选取优先级最高且满足量子资源要求的多个量子任务合并提交给量子程序编译服务。之后,通过量子比特映射,以适配不同拓扑结构的量子处理器,并经过低阶编译匹配计算后端的指令集,产生量子可执行程序和脉冲波形发送给量子计算设备。
图2 量超协同工作流程图
在量子计算的硬件研究上,本源量子自研的“悟源”系列6 Qubit量子计算机已经上线量子云平台,并开放给公众使用。24 Qubit的超导量子计算机也已完成多起商业交付。截至2023年6月中旬,本源量子正在调试的新一代量子计算机“悟空”,将搭载采用全新架构的72 Qubit超导处理器,届时将进一步提升量超协同效能。
3 结束语
在计算任务中,量子计算算法的运行时间和问题规模n呈现多项式关系,而已知的经典计算算法的运行时间却表现出指数增长。因此,尽管量子计算的操作速度相对经典计算较慢(例如超导比特的一次门操作一般在30~200 ns之间),但随着问题规模n的增长,量子计算将迅速弥补这一劣势。近年来,量子计算在扩展、纠错、应用上的接连突破带给了市场充分的信心,并催化出繁荣的商业环境。根据麦肯锡报告[44],到2040年,量子领域的市场规模将达1 060 亿美元,在量子计算、量子传感和量子通信这三个主要领域中,量子计算预计占据最大份额,其上限约为900 亿美元。量超融合作为量子计算应用落地的敲门砖,被欧洲各国及地区当作能在量子计算时代后发先至的捷径,在EuroHPC JU的支持下,捷克、德国、西班牙、法国、意大利和波兰的超算中心已经在筹备当中。另外,由芬兰国家技术研究中心、芬兰IT科学中心和芬兰阿尔托大学合作建立的量超融合项目已经在运作。
量子计算可以在一定程度上实现低碳、节能计算。第61届世界超算排名显示[45],前两名分别是美国Forntier(1.194 Exaflop/s)和日本Fugaku(442 Pflop/s),其功耗分别达22.7 MW和29.9 MW。通过量子计算帮助解决一些复杂任务时将减轻超算的负荷,所以量超协同框架的引入也是一次能源革命,有利于我国推进实施传统计算/数据中心的节能减排方针[46]。2022年,我国在京津冀、长三角、粤港澳大湾区、成渝、内蒙古、贵州、甘肃、宁夏八地铺设全国一体化算力网络国家枢纽节点,将密集型计算中心向西部资源丰富地区迁移。在东数西算大背景下,引入量超协同的计算模式,可以加速我国可持续发展进程。同时,借助全国一体化算力网络将迅速完成量子计算机规模扩展,有望在国际上率先实现具备实际价值的量子计算优势。