付耀斌 周輝
(本源量子計算科技(合肥)股份有限公司,合肥 230000)
自2019年Google使用Sycamore超導量子處理器取得了“量子優(yōu)勢”之后[1],2021年中國科學技術大學也分別在“祖沖之二號”超導量子計算原型機[2]和“九章二號”光量子計算原型機[3-4]上實現(xiàn)了“量子優(yōu)勢”,量子計算引起社會各界極大的關注,并在研究人員的努力下取得了巨大的進步。在硬件方面,IBM在2022年底公開了其433 Qubit的超導量子處理器Osprey,專注于離子阱量子計算的Quantinuum在2023年5月推出了第二代量子計算機H2,并以65 536量子體積(Quantum Volume,QV)持續(xù)保持領先,只是當前物理量子比特比較脆弱,還需要進一步糾錯處理[5-6]。2022—2023年,中國科學技術大學[7]和Google[8]分別獨立完成了表面碼糾錯,并證明邏輯錯誤率隨著糾錯比特的增加而降低。這表明通過冗余編碼實現(xiàn)容錯量子計算是可行的,當然需要更多的高質量比特才能最終實現(xiàn)通用的容錯量子計算。而實際上,要完成傳統(tǒng)計算不能完成的計算任務,或者比傳統(tǒng)計算在計算上快得多,至少需要上萬個量子比特,或者上千個邏輯比特,目前量子硬件仍然難以支持實際的應用需求。2022年,鄭州數學工程與先進計算國家重點實驗室、清華大學等提出亞線性資源的量子經典混合大數分解算法,有可能使用372 個含噪聲的量子比特分解RSA-2048,相比Elie Gouzien等提出的1.3 萬量子比特的方案,比特數需求降低30 多倍,但其雙比特門精度需要達到99.999%,目前尚達不到[9-10]。這意味著未來很長一段時間,仍需要考慮含噪聲的中型量子(Noisy Intermediate-Scale Quantum,NISQ)硬件[11]的具體應用場景。
由于NISQ設備諸多限制,將量子計算作為超級計算的加速器,是更加切合實際發(fā)揮量子優(yōu)勢的方案。Dell、Nvidia、Ampere Computing等已經開始和量子計算企業(yè)深度合作,目的是通過量子計算和經典計算設備的協(xié)同工作(簡稱“量超協(xié)同”)來開發(fā)量子計算的潛力。2022年12月,Dell和Qubit Pharmaceuticals基于量子優(yōu)化設備架構(Quantum Optimized Device Architecture,QODA)構建混合經典-量子計算軟件平臺(Atlas),以加速藥物發(fā)現(xiàn),并成功地將計算速度提高了10 萬倍。同時,歐洲各國對量超協(xié)同給予更多重視。2022年2月,歐洲Quantum Flagship發(fā)布《European Quantum Computing &Simulation Infrastructure》白皮書,由14 個超算中心以及對量子計算有需求的科研機構聯(lián)合撰寫,其中給出超級計算基礎設施集成量子計算機和模擬器的時間節(jié)點[12]。2022年10月,歐洲高性能計算聯(lián)合企業(yè)(European High Performance Computing Joint Undertaking,EuroHPC JU)得到歐盟委員會資助并選擇6個地區(qū)來托管和運行首批量子計算機[13]。
在未被EuroHPC JU選中的國家中,芬蘭在2022年11月已經將5量子比特系統(tǒng)HELMI與世界排名第三的超級計算機LUMI成功連接,以實現(xiàn)混合計算項目,并促進所需量子算法和軟件的開發(fā)。2023年1月,西班牙加利西亞超級計算中心宣布將在2023年內完成量子計算機的安裝。國際上緊鑼密鼓地規(guī)劃量超協(xié)同的同時,國內的量子計算企業(yè)也在積極與超算中心聯(lián)動。2023年6月,上海超級計算中心與本源量子計算科技(合肥)股份有限公司(簡稱“本源量子”)聯(lián)合成立“長三角量超協(xié)同創(chuàng)新中心”,成為全國量超協(xié)同布局的先行試點。本文將從現(xiàn)階段量超協(xié)同框架的實際需求、實施難點出發(fā),簡要介紹國內外多種協(xié)同框架的特點,并分析本源量子提出的量超協(xié)同框架的細節(jié)設計。
自1982年Feynman提出量子計算概念之后[14], Peter Shor于1994年提出了Shor算法[15],首次對量子計算在現(xiàn)實場景下具有實用價值的指數增速優(yōu)勢進行了展示,引起了業(yè)界對量子計算的廣泛關注。之后,越來越多的量子算法被提出,廣為人知的有Grover、HHL、VQE、QAOA等[16]。這些算法在理論上的指數級加速效果進一步吸引許多大型企業(yè)(如IBM、Google)以及各國及地區(qū)政府的資金注入,使得越來越多的高校研究人員走出實驗室成立企業(yè),通過開發(fā)量子計算硬件,將量子計算的優(yōu)勢推進至工程驗證階段。研究者們從這個過程中也逐漸意識到:量子硬件的保真度、相干時間等諸多限制使其不可能在短期內實現(xiàn)應用。量超協(xié)同方案通過將計算任務分解、調度和派發(fā),實現(xiàn)量子計算機和超算之間的有效融合,在量子資源有限的情況下發(fā)揮量子設備的作用,提高計算速度。相較于經典計算,量子計算并非在所有問題上都有優(yōu)勢,難以完全替代現(xiàn)有的經典計算方案[17]。量超協(xié)同方案不僅是彌補現(xiàn)階段量子硬件規(guī)模不足的手段,更是未來構建混合型高性能計算裝置的核心部分。
一個完整的量超協(xié)同計算架構包含用戶交互、系統(tǒng)服務、計算后端三層(見圖1)。使用者與計算設備的所有交互都經由交互層實現(xiàn),而不需要知道計算任務提交之后如何工作,因此盡量貼近傳統(tǒng)操作系統(tǒng),符合用戶習慣的交互邏輯將帶來良好的使用體驗。用戶可以通過量子應用軟件提交計算任務,或者通過量子編程實現(xiàn)。
圖1 量超協(xié)同基礎框架
目前,許多量子企業(yè)已經在基于量子算法開發(fā)化學模擬、數據檢索、人工智能等各種應用軟件,由于作為量子計算下游應用端的傳統(tǒng)行業(yè)尚未深入介入,對量子計算本身的特性又缺乏了解,而量子企業(yè)針對某一場景下進行應用開發(fā)往往難以抓住痛點,所以大多應用僅停留在可用性演示層面。這些情況導致用戶如果不去仔細了解該應用的算法原理,很難直觀地感受到量子計算的優(yōu)勢。
對于有編程經驗的用戶群,或者從事量子計算行業(yè)的科研工作者來說,一個能保持穩(wěn)定更新且用戶基礎廣泛的開發(fā)環(huán)境更有助于交流和學習。目前,僅國內發(fā)布量子語言的企業(yè)就不止5 家,它們往往被集成到基于C語言或者Python的編程框架中,相對容易上手,但是過多的選擇性以及不同語言在語法上的差異性也會提高用戶的學習門檻。
系統(tǒng)服務層包含了操作系統(tǒng)的各功能模塊,Henry Corrigan-Gibbs等[18]首次提出量子操作系統(tǒng),如今國內外已經發(fā)展出多種側重不同的操作系統(tǒng)。操作系統(tǒng)作為量超協(xié)同框架的核心部分,不僅包含經典操作系統(tǒng)的大部分基礎功能,還需要額外完成對量子比特的校準、量子資源的管理、量子進程的監(jiān)控等工作。以下簡單闡述如何經由系統(tǒng)服務層實現(xiàn)量子-經典并行計算以及異構體系下的數據轉化問題。
1.2.1 量子-經典并行計算
量子代碼由經典編程語句(Python)和量子語句混合構成,用戶的代碼經編譯器生成可執(zhí)行程序的過程中,會根據語句標簽自動分析,識別出經典部分和量子部分。之后有兩種處理方式,一種是穿插式執(zhí)行,經典程序將直接傳遞到經典后端執(zhí)行,遇到量子語句在編譯完成后分發(fā)到量子計算后端,返回結果后繼續(xù)執(zhí)行經典部分,然后重復這一流程。因為代碼預處理階段步驟少,該方式在量子語句密集時速度較快,不適用于量子-經典代碼高度混合的情況,不但會浪費大量時間等待量子后端返回結果,而且頻繁的跨集群通信會因為量子后端的數據轉換效率帶來巨大的開銷。另一種是在編譯完成后,操作系統(tǒng)通過量子程序的標簽自動將可執(zhí)行程序拆分成經典與量子兩個部分,然后提交給不同的計算后端同步執(zhí)行,可以大大提高計算效率。該方法對于用戶輸入的代碼結構以及量子應用的算法模型有較高的要求,需要量子-經典兩部分的數據關聯(lián)度低,從而盡量降低集群間通信頻率。
1.2.2 構建針對經典數據、多量子硬件體系的泛用性接口
首先,量子編譯器生成的量子程序依然是經典數據模式,量子計算后端在接收到可執(zhí)行的量子程序、經典計算數據時,需要先經過數據接口轉換成量子硬件的控制指令;其次,由于量子算法和軟件極度依賴量子硬件,當前的量子計算設備(如超導、離子阱、硅基半導體、光量子等)采用多種不同的實現(xiàn)路線,不同類型量子設備的操控方式也不盡相同,因此該接口還需要將接收到的量子程序翻譯成多種不同類型量子硬件的控制指令,并傳遞到計算后端的任意一臺量子計算機執(zhí)行,提高了泛用性。
量超協(xié)同架構的后端由量子計算機和經典計算機兩部分組成,根據兩種處理器的物理連接方式,可以考慮緊湊式和分布式兩種方式。理想的情況下,量子計算機硬件能以一種更緊密的方式與經典計算機硬件結合,從而降低數據傳輸損耗,例如將量子計算機處理器集成到CPU/GPU上,但由于量子計算機硬件實現(xiàn)的獨特方式以及工作環(huán)境的苛刻,難度巨大。例如,超導量子計算處理器需要在無磁、無震動、20 mK以下極低溫的環(huán)境工作,光量子計算處理器也對震動極為敏感,其他路線對環(huán)境也有所要求,既要保證經典計算機處理器在該環(huán)境下的正常工作,也要保證其工作產生的噪聲能被很好地屏蔽。值得期待的是硅基量子點處理器,由于Dzurak[19]、Veldhorst[20]在高溫量子比特方向工作,使量子點比特的操控在1 K以上的溫度下依然保持很高的準確度,以及對3~4 K低溫下C-MOS芯片的研究[21-30],更加了解低溫下電子器件的性能,從而降低了硅基量子點和經典計算機處理器的集成難度。
另一種更為可行的方案是采用分布式架構,把量子計算和經典計算作為分隔的計算節(jié)點,各自獨立執(zhí)行計算任務,可以提供更靈活的集群部署方式。其中,經典計算集群和量子計算集群的遠程系統(tǒng)以及量子硬件后續(xù)的擴展需要重點考慮。
遠距離協(xié)同。一般情況下,量子計算設備出于種種原因并沒有部署在經典計算集群附近,為了能在更大的空間尺度上實現(xiàn)遠程協(xié)同,需要搭建低延遲的通信網絡。應注意到,目前量子硬件的相干時間僅有數微秒到數百毫秒,并不適合長距離傳輸,而且量子信息十分脆弱,量子計算集群應該與經典計算集群采用經典網絡互聯(lián)。另外,鑒于數據轉換的開銷,應盡量避免頻繁地跨集群通信,可以根據量子硬件的性能提前評估計算時間與需要通信的時間節(jié)點,進而合理分配經典硬件資源,以降低不同計算后端協(xié)同不足帶來的結果反饋延遲。
量子硬件擴展。在傳統(tǒng)的超算系統(tǒng)中包含大量的計算節(jié)點,通過內部組網實現(xiàn)跨節(jié)點計算,可以很容易擴展集群規(guī)模。類似的,考慮到量子計算硬件進步的速度,量子計算的集群、節(jié)點間的擴展方式也應充分考慮。量子疊加性可以帶來所謂的“指數并行”優(yōu)勢,一塊20 Qubit處理器的計算空間將是兩塊10 Qubit處理器的500 多倍,因此在技術條件允許的情況下,同類型的量子硬件之間應盡量采用量子通信線路互聯(lián),Niu Jingjing等[31]和Kannan Bharath等[32]展示了如何在短距離下實現(xiàn)超導量子比特的傳輸,Akhtar M和Bonus F等[33]演示了離子阱體系下如何建立高保真鏈路。另外,對于不同類型的量子硬件,Aishwarya Kumar等[34]利用里德堡原子和超導諧振器之間的強耦合來實現(xiàn)毫米波光子和光學光子之間的相干轉換也是未來值得期待的方向。
發(fā)揮現(xiàn)階段量子硬件的潛力,實現(xiàn)量子計算機與經典計算機平臺的有效協(xié)作,已成為量子計算實用化發(fā)展的迫切需求。為了讓量子應用程序開發(fā)人員只關注量子應用本身,而無需了解底層量子硬件(超導、離子阱等)的物理細節(jié),國內外已經提出多種量子計算操作系統(tǒng),針對性地解決量子芯片編譯、量子芯片調度、量子操作系統(tǒng)框架設計等問題。2020年11月,Riverlane首次對外公布其量子計算操作系統(tǒng)Deltaflow.OS[35-36],該系統(tǒng)可適配多種量子計算體系,包括超導、離子阱、半導體及光量子等。整個系統(tǒng)包含量子計算系統(tǒng)的基本模塊,如量子線路編譯優(yōu)化、自動校準等,并著眼于量子糾錯。2021年,ParityQC提出了ParityOS系統(tǒng)[37-40],該系統(tǒng)包含量子算法設計及量子線路編譯優(yōu)化等基本模塊,不同點在于系統(tǒng)輸出是量子算法和對應的量子硬件設計,其主要目標是針對某個實際問題設計專用量子算法,并設計對應的量子計算硬件,通過專用算法優(yōu)化和硬件設計來實現(xiàn)對實際問題的量子加速。2022年,北京航空航天大學提出一種量子計算操作系統(tǒng)QuOS框架[41],并描述了系統(tǒng)框架的幾個核心模塊,即量子線路編譯優(yōu)化、多量子任務調度、同步并行及異步并行、量子分布式計算等。
2020年12月,本源司南[42]系統(tǒng)首次對外發(fā)布,它是國內首個量子計算操作系統(tǒng)框架。本源司南系統(tǒng)實現(xiàn)整體量子計算操作系統(tǒng)的各種基本功能,集成了一些基本計算服務和中間件服務,并通過OSLib提供了相關系統(tǒng)調用接口,方便用戶快速開發(fā)上層應用。系統(tǒng)服務包含任務管理、編譯優(yōu)化、調度、資源管理、后端服務等核心模塊,各模塊通過系統(tǒng)隧道相互協(xié)作,完成量子計算工作。在此基礎上,本源司南系統(tǒng)根據當前NISQ硬件特性另外提供了三個特色功能。
量子比特自動校準:由于量子比特的錯誤積累會嚴重影響計算結果,所以在運行量子任務的同時,本源司南系統(tǒng)會通過自動化校準服務監(jiān)控并校準量子資源的狀態(tài),首先定時檢測量子資源中量子比特的狀態(tài),若量子比特狀態(tài)不能滿足計算需求,自動化校準服務會通知量子資源管理服務把該量子比特移動到待校準區(qū),并向量子任務調度服務發(fā)送校準任務。在量子任務執(zhí)行過程中,校準任務會被設置為最高優(yōu)先級,避免量子資源浪費。
量子任務并行計算:在量子計算中,量子程序(量子任務)是量子處理器的最小執(zhí)行單元。本源司南系統(tǒng)支持多個量子程序在單量子處理器執(zhí)行并行計算,極大提高量子處理器的使用效率。
多量子處理器負載均衡:多量子處理器負載均衡是量子任務調度服務的核心功能,針對多量子處理器不能有效實現(xiàn)量子通信的情況,這時的多量子處理器只能各自單獨工作。用戶提交多個計算任務時,本源司南系統(tǒng)會根據提交任務的等待時間和要求服務時間進行自動調配,保證最大化利用多個量子芯片,減少排隊時長。
在本源司南系統(tǒng)的基礎上,本源量子構建了量超協(xié)同框架,用戶通過QRunes語言[43]編寫的量子-經典混合應用,經過量子編譯器的分析識別后,將對量子程序部分進行轉譯、量子邏輯門轉化、量子程序優(yōu)化等操作。量子應用被編譯為量子-經典混合可執(zhí)行程序,其中量子程序部分會通過任務形式把量子程序對應的 OriginIR(量子程序中間表示)提交給量子任務調度服務。量子任務調度服務根據當前系統(tǒng)存在的量子任務優(yōu)先級進行排序,并選取優(yōu)先級最高且滿足量子資源要求的多個量子任務合并提交給量子程序編譯服務。之后,通過量子比特映射,以適配不同拓撲結構的量子處理器,并經過低階編譯匹配計算后端的指令集,產生量子可執(zhí)行程序和脈沖波形發(fā)送給量子計算設備。
圖2 量超協(xié)同工作流程圖
在量子計算的硬件研究上,本源量子自研的“悟源”系列6 Qubit量子計算機已經上線量子云平臺,并開放給公眾使用。24 Qubit的超導量子計算機也已完成多起商業(yè)交付。截至2023年6月中旬,本源量子正在調試的新一代量子計算機“悟空”,將搭載采用全新架構的72 Qubit超導處理器,屆時將進一步提升量超協(xié)同效能。
在計算任務中,量子計算算法的運行時間和問題規(guī)模n呈現(xiàn)多項式關系,而已知的經典計算算法的運行時間卻表現(xiàn)出指數增長。因此,盡管量子計算的操作速度相對經典計算較慢(例如超導比特的一次門操作一般在30~200 ns之間),但隨著問題規(guī)模n的增長,量子計算將迅速彌補這一劣勢。近年來,量子計算在擴展、糾錯、應用上的接連突破帶給了市場充分的信心,并催化出繁榮的商業(yè)環(huán)境。根據麥肯錫報告[44],到2040年,量子領域的市場規(guī)模將達1 060 億美元,在量子計算、量子傳感和量子通信這三個主要領域中,量子計算預計占據最大份額,其上限約為900 億美元。量超融合作為量子計算應用落地的敲門磚,被歐洲各國及地區(qū)當作能在量子計算時代后發(fā)先至的捷徑,在EuroHPC JU的支持下,捷克、德國、西班牙、法國、意大利和波蘭的超算中心已經在籌備當中。另外,由芬蘭國家技術研究中心、芬蘭IT科學中心和芬蘭阿爾托大學合作建立的量超融合項目已經在運作。
量子計算可以在一定程度上實現(xiàn)低碳、節(jié)能計算。第61屆世界超算排名顯示[45],前兩名分別是美國Forntier(1.194 Exaflop/s)和日本Fugaku(442 Pflop/s),其功耗分別達22.7 MW和29.9 MW。通過量子計算幫助解決一些復雜任務時將減輕超算的負荷,所以量超協(xié)同框架的引入也是一次能源革命,有利于我國推進實施傳統(tǒng)計算/數據中心的節(jié)能減排方針[46]。2022年,我國在京津冀、長三角、粵港澳大灣區(qū)、成渝、內蒙古、貴州、甘肅、寧夏八地鋪設全國一體化算力網絡國家樞紐節(jié)點,將密集型計算中心向西部資源豐富地區(qū)遷移。在東數西算大背景下,引入量超協(xié)同的計算模式,可以加速我國可持續(xù)發(fā)展進程。同時,借助全國一體化算力網絡將迅速完成量子計算機規(guī)模擴展,有望在國際上率先實現(xiàn)具備實際價值的量子計算優(yōu)勢。