国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

量子計(jì)算模擬及優(yōu)化方法綜述

2022-01-14 03:01喻志超李揚(yáng)中馮圣中
計(jì)算機(jī)工程 2022年1期
關(guān)鍵詞:量子態(tài)張量模擬器

喻志超,李揚(yáng)中,劉 磊,2,馮圣中

(1.國(guó)家超級(jí)計(jì)算深圳中心(深圳云計(jì)算中心),廣東深圳 518055;2.中國(guó)科學(xué)院計(jì)算技術(shù)研究所計(jì)算機(jī)體系結(jié)構(gòu)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100190)

0 概述

量子計(jì)算是一種遵循量子力學(xué)規(guī)律調(diào)控量子信息單元進(jìn)行計(jì)算的新型計(jì)算方式。由于量子力學(xué)疊加態(tài)的存在,量子計(jì)算機(jī)與經(jīng)典計(jì)算機(jī)相比具有更強(qiáng)大的并行信息處理能力,并有望解決經(jīng)典計(jì)算機(jī)無(wú)法解決的問(wèn)題。量子計(jì)算被認(rèn)可的潛在應(yīng)用領(lǐng)域包括密碼學(xué)[1]、量子化學(xué)[2]、材料科學(xué)[3]、機(jī)器學(xué)習(xí)[4]等。

研究量子計(jì)算技術(shù),需要開(kāi)展精確的量子門(mén)操作和糾錯(cuò)、容錯(cuò)等實(shí)驗(yàn),以及模擬量子疊加、糾纏等狀態(tài),構(gòu)造足夠復(fù)雜的相干量子計(jì)算實(shí)驗(yàn)體系,并開(kāi)展適用的量子計(jì)算模型和算法研究。量子計(jì)算的主要研究方向包括構(gòu)造含有更多量子比特的通用量子計(jì)算機(jī)、設(shè)計(jì)更有效的量子算法以及優(yōu)化量子程序編譯器[5-6],從而使得量子計(jì)算機(jī)能被廣泛使用。現(xiàn)階段的量子計(jì)算機(jī)屬于嘈雜的中尺度量子(Noisy Intermediate Scale Quantum,NISQ)計(jì)算機(jī)[7-8],量子位的數(shù)量尚不過(guò)百,量子位狀態(tài)脆弱且易受干擾,無(wú)法保證量子程序的可靠執(zhí)行,也無(wú)法適用于求解大規(guī)模的科學(xué)計(jì)算問(wèn)題。自從谷歌提出量子優(yōu)越性以來(lái),如何展示現(xiàn)階段量子對(duì)于經(jīng)典計(jì)算機(jī)的優(yōu)勢(shì)一直是研究熱點(diǎn)[9-11]。由于量子比特受到噪聲的影響易失去量子特性,而基于量子糾錯(cuò)碼的容錯(cuò)架構(gòu)可能是利用量子計(jì)算機(jī)執(zhí)行大規(guī)模計(jì)算的重要基礎(chǔ),因此設(shè)計(jì)一種使用適度資源即能有效對(duì)抗實(shí)際噪聲的實(shí)用量子糾錯(cuò)碼,也是量子計(jì)算核心問(wèn)題之一[12-13]。此外,探索新的效率明顯優(yōu)于經(jīng)典計(jì)算機(jī)算法的量子算法,也已經(jīng)成為量子計(jì)算理論研究的一個(gè)重要分支[14]。

由于已知量子運(yùn)行規(guī)律,因此可使用經(jīng)典計(jì)算機(jī)模擬量子計(jì)算。量子計(jì)算模擬器相比于物理量子比特計(jì)算機(jī)的突出優(yōu)勢(shì)是功能齊全,可執(zhí)行的量子程序規(guī)模不會(huì)受到物理量子計(jì)算機(jī)保真度的制約,是理想的量子算法測(cè)試平臺(tái)[15]。量子計(jì)算模擬包括計(jì)算并存儲(chǔ)所有量子態(tài)、部分或者單個(gè)量子態(tài)概率幅、含噪聲模擬等多種形式,不同的模擬方法對(duì)應(yīng)于不同的量子計(jì)算目標(biāo)。許多研究機(jī)構(gòu)開(kāi)發(fā)了量子線路模擬器用來(lái)支撐量子計(jì)算領(lǐng)域復(fù)雜問(wèn)題的模擬,如太章模擬器[10-11]、ProjectQ[16]、qHiPSTER[17]、QuEST[18]等。量子模擬器可被部署于分布式超級(jí)計(jì)算機(jī)集群,利用超算集群的運(yùn)算性能實(shí)現(xiàn)量子計(jì)算的高效模擬,模擬過(guò)程中需要考慮子任務(wù)劃分和通信優(yōu)化問(wèn)題,通過(guò)分布式節(jié)點(diǎn)上任務(wù)的合理分配和減少通信成本的設(shè)計(jì)策略,實(shí)現(xiàn)均衡分布式節(jié)點(diǎn)間負(fù)載的目標(biāo)。

為了能夠模擬具有更多量子比特?cái)?shù)且深度更深的量子線路,如何減少模擬所需存儲(chǔ)和提高模擬計(jì)算效率是關(guān)鍵問(wèn)題?,F(xiàn)有研究對(duì)算法的優(yōu)化改進(jìn),使得模擬器在實(shí)際應(yīng)用中已經(jīng)取得了較大突破。針對(duì)目前量子計(jì)算模擬的研究工作,本文綜述實(shí)現(xiàn)量子計(jì)算模擬的基本方法,總結(jié)量子線路模擬的優(yōu)化方法和已有的模擬器,并闡述在超算上模擬量子計(jì)算的核心問(wèn)題,討論相應(yīng)的優(yōu)化方法。

1 量子計(jì)算原理

本節(jié)主要介紹量子計(jì)算理論中的背景知識(shí),包括量子比特、量子門(mén)、量子線路、量子操作系統(tǒng)和量子模擬。

1.1 量子比特

經(jīng)典計(jì)算機(jī)的比特位只有0 和1 兩種狀態(tài),而量子比特中這樣確定的狀態(tài)則被稱為基本態(tài),除此之外,還有可能是2 種狀態(tài)的疊加態(tài)。一個(gè)量子比特位(量子位)的狀態(tài)(狀態(tài)向量表示)可以看作是由兩個(gè)基本態(tài)(計(jì)算基態(tài)向量和)組成的二維復(fù)空間向量。根據(jù)量子規(guī)律,單量子比特可以是兩種基本態(tài)疊加成的任一種狀態(tài),用狀態(tài)向量公式表示為:

其中,系數(shù)α、β為復(fù)數(shù)值的概率幅,|α|2和|β|2分別為對(duì)應(yīng)狀態(tài)的概率且滿足|α|2+|β|2=1。

n位量子比特的狀態(tài)向量可以表示為2n個(gè)基態(tài)的復(fù)合態(tài):

1.2 量子門(mén)

經(jīng)典計(jì)算使用邏輯門(mén)操作經(jīng)典比特的狀態(tài),量子計(jì)算則使用量子門(mén)操作量子位狀態(tài)。量子態(tài)滿足歸一約束|α|2+|β|2=1,經(jīng)過(guò)量子門(mén)作用后得到的量子態(tài)依舊滿足歸一化約束,所以量子門(mén)相應(yīng)矩陣U須為酉性[19],即U*U=I,U*為U的共軛轉(zhuǎn)置。因此,量子態(tài)的制備和任何對(duì)量子態(tài)的操作都是酉操作,量子門(mén)是對(duì)所選量子位進(jìn)行酉操作的算子。

按照操作涉及的量子比特的個(gè)數(shù),可以將量子門(mén)分為單量子比特門(mén)和多量子比特門(mén)。單量子比特操作中常用的有Hadamard 門(mén)、Pauli-X 門(mén)、Pauli-Y 門(mén)、相位門(mén)(S 門(mén))等,多量子比特操作中常用的有CNOT門(mén)、受控Z 門(mén)(CZ 門(mén))、Toffoli 門(mén)等。表1 列出了常用的量子門(mén)及其矩陣形式。

表1 常用量子門(mén)Table 1 Frequently-used quantum gates

以Hadamard 門(mén)為例,假設(shè)一個(gè)目標(biāo)量子比特為k的Hadamard 門(mén),其概率幅計(jì)算和操作更新規(guī)則為:

1.3 量子線路

量子算法由一系列基礎(chǔ)的量子門(mén)組合而成,實(shí)現(xiàn)的形式稱為量子線路。量子線路以量子比特為基本存儲(chǔ)單元,將量子邏輯門(mén)連接在一起來(lái)實(shí)現(xiàn)特定的計(jì)算功能,可以直觀地表示量子算法的結(jié)合和復(fù)雜度。本質(zhì)上,量子計(jì)算可以描述為對(duì)包含量子比特的量子系統(tǒng)實(shí)施一系列酉變換,然后對(duì)變換之后的狀態(tài)進(jìn)行測(cè)量,最后得到計(jì)算結(jié)果的過(guò)程。因此,量子計(jì)算的過(guò)程包括初態(tài)設(shè)置、狀態(tài)變換和測(cè)量3 個(gè)步驟。圖1 為2 個(gè)量子比特的Grover 搜索算法線路圖[1],其中每一條線代表一個(gè)量子比特,量子門(mén)操作使用不同的方塊表示。

圖1 Grover 算法示意圖Fig.1 Schematic diagram of Grover algorithm

量子優(yōu)越性是量子計(jì)算研究過(guò)程中的一個(gè)重要里程碑,指現(xiàn)階段實(shí)現(xiàn)針對(duì)特定問(wèn)題的計(jì)算能力超越經(jīng)典超級(jí)計(jì)算機(jī)。為研究量子優(yōu)越性,研究人員提出了一些非常適合于展現(xiàn)量子設(shè)備計(jì)算能力的特定問(wèn)題,包括隨機(jī)量子線路采樣(Random Circuit Sampling)[9,20]、IQP(Instantaneous Quantum Polynomial)線路[21]、高斯玻色采樣(Boson Sampling)[22-23]等。谷歌量子研究團(tuán)隊(duì)所針對(duì)的問(wèn)題是隨機(jī)量子線路采樣問(wèn)題,中科大團(tuán)隊(duì)則致力于高斯玻色采樣問(wèn)題的研究。

如圖2(a)所示,谷歌的Sycamore 隨機(jī)量子線路是在特定圖結(jié)構(gòu)上,周期地作用單量子比特門(mén)和兩量子比特門(mén),且最終以單量子比特門(mén)結(jié)束[9,24-25]。單量子比特門(mén)均勻隨機(jī)取自于一個(gè)單量子門(mén)的集合,兩量子比特門(mén)表示為:

其中,θ=90°,φ=30°。隨機(jī)量子線路采樣問(wèn)題是一個(gè)足夠復(fù)雜且又適合當(dāng)前帶噪聲量子計(jì)算機(jī)求解的計(jì)算問(wèn)題,能夠以較少的門(mén)操作數(shù)量來(lái)實(shí)現(xiàn)較大糾纏的量子態(tài)。隨機(jī)量子線路采樣成為最近展現(xiàn)量子優(yōu)越性的主流候選問(wèn)題,主要有3 個(gè)原因:1)隨機(jī)線路采樣問(wèn)題非常適合于在二維結(jié)構(gòu)的超導(dǎo)量子計(jì)算芯片上實(shí)驗(yàn)實(shí)現(xiàn);2)已有很多理論工作證明了隨機(jī)線路采樣問(wèn)題的困難性;3)隨機(jī)量子線路采樣滿足反集中(anti-concentration)性質(zhì),表現(xiàn)為噪聲對(duì)輸出結(jié)果的概率造成的影響更小。

如圖2(b)所示,玻色采樣過(guò)程的模擬是計(jì)算給定輸入光子分布時(shí)得到某種輸出光子分布的概率,其最重要的部分在于求解矩陣積和式,而計(jì)算復(fù)矩陣的積和式對(duì)經(jīng)典計(jì)算機(jī)來(lái)說(shuō)是很困難的。

IQP 線路代表一類簡(jiǎn)化的量子線路模型,如圖2(c)所示,線路的初始量子態(tài)都為零態(tài),首先對(duì)每個(gè)量子比特作用一個(gè)Hadamard 門(mén),然后在這些量子比特上作用對(duì)角的門(mén),最后再次在每個(gè)量子比特上作用Hadamard 門(mén)。

圖2 研究量子計(jì)算優(yōu)越性的3 種量子線路Fig.2 Three quantum circuits for studying quantum advantage

1.4 量子操作系統(tǒng)

量子操作系統(tǒng)是量子計(jì)算機(jī)資源的管理者,負(fù)責(zé)管理、監(jiān)控、配置量子位硬件資源,調(diào)度量子程序運(yùn)行的先后順序,控制量子程序單獨(dú)或并發(fā)映射,并提供具體的量子線路映射策略,保證量子程序的可靠度。為了充分利用量子計(jì)算機(jī)強(qiáng)大的計(jì)算能力,文獻(xiàn)[26]倡導(dǎo)建立量子操作系統(tǒng)來(lái)管理量子計(jì)算機(jī)的硬件資源。文獻(xiàn)[5-6]在國(guó)內(nèi)率先開(kāi)展了量子操作系統(tǒng)的原型研制,提出QuOS 原型,用于并發(fā)多量子程序在量子芯片上的映射、調(diào)度和優(yōu)化。該系列工作設(shè)計(jì)了優(yōu)化健壯量子位資源利用率的程序映射策略、跨程序量子位交換的映射方法和多量子程序調(diào)度機(jī)制,為量子操作系統(tǒng)軟硬件棧的設(shè)計(jì)和優(yōu)化提供了原型系統(tǒng)和參考經(jīng)驗(yàn)。

1.5 量子模擬

目前,由于量子計(jì)算機(jī)的真機(jī)仍處于發(fā)展階段,通常單機(jī)可用的量子位數(shù)量較少(在100 以內(nèi))且量子位狀態(tài)保持不穩(wěn)定,不能完成有實(shí)際意義的、較大規(guī)模的量子運(yùn)算。在未確定量子硬件實(shí)現(xiàn)方案之前,很多量子算法所展現(xiàn)出的巨大計(jì)算潛力并未得到真機(jī)的實(shí)驗(yàn)驗(yàn)證,而主要是基于數(shù)學(xué)理論或者基于經(jīng)典計(jì)算機(jī)的形式進(jìn)行模擬驗(yàn)證。

量子計(jì)算機(jī)除了和經(jīng)典計(jì)算機(jī)有相似模型之外,還存在一些特有的計(jì)算模型。比較常用的量子模型包括量子線路模型、絕熱量子計(jì)算模型、One-way 量子計(jì)算模型、拓?fù)淞孔佑?jì)算模型等。雖然這些模型設(shè)計(jì)的出發(fā)點(diǎn)不同,但計(jì)算結(jié)果的輸出是一致的,且相互之間可以進(jìn)行轉(zhuǎn)化。在處理某類特定問(wèn)題的計(jì)算中,采用不同的算法計(jì)算復(fù)雜度可能不同,而選擇一款好的計(jì)算模型能夠簡(jiǎn)化算法的實(shí)現(xiàn)流程。

采用超級(jí)計(jì)算機(jī)模擬量子計(jì)算的過(guò)程,是目前研究量子計(jì)算、輔助量子計(jì)算機(jī)執(zhí)行任務(wù)的一種方式。國(guó)內(nèi)外科研機(jī)構(gòu)、公司、高校積極開(kāi)展了相關(guān)研究。量子模擬內(nèi)涵豐富,本文將從量子計(jì)算模擬方法、國(guó)內(nèi)外量子模擬器、超算集群模擬等方面進(jìn)行深入介紹。

2 量子計(jì)算模擬方法

量子計(jì)算模擬主要是通過(guò)輸入不同的矩陣來(lái)改變要計(jì)算的量子態(tài)的狀態(tài),從而引起量子線路狀態(tài)的變化。但在量子線路中,由多個(gè)量子邏輯門(mén)級(jí)聯(lián)而成對(duì)于邏輯門(mén)的操控精度提出極高的要求,若量子比特門(mén)的保真度不高,逐級(jí)增大,則會(huì)嚴(yán)重影響最終計(jì)算結(jié)果。受制于量子比特自身的物理特性,計(jì)算錯(cuò)誤的發(fā)生常常無(wú)法避免,但可以避免錯(cuò)誤對(duì)最終計(jì)算結(jié)果的影響。此外,評(píng)估量子計(jì)算中的錯(cuò)誤嚴(yán)重性,對(duì)于改進(jìn)器件的設(shè)計(jì)、優(yōu)化控制參數(shù)以及使用緩解協(xié)議最小化錯(cuò)誤至關(guān)重要。

2.1 量子計(jì)算概率幅模擬

量子計(jì)算概率幅模擬方法通過(guò)對(duì)概率幅的計(jì)算在經(jīng)典計(jì)算機(jī)上實(shí)現(xiàn)對(duì)量子計(jì)算的模擬,在量子線路模擬過(guò)程中,通過(guò)計(jì)算一個(gè)量子線路后終態(tài)在各個(gè)基態(tài)上的概率幅獲取量子計(jì)算的模擬結(jié)果。該方法可分為全概率幅模擬和單概率幅模擬,其主要區(qū)別在于,全概率幅模擬一次模擬計(jì)算能夠計(jì)算出量子態(tài)所有概率幅,而單概率幅模擬只能計(jì)算出所有概率幅中的一個(gè)。除此之外,還有部分概率幅模擬的目的是在更低的硬件條件下實(shí)現(xiàn)更高的模擬效率。

全概率幅模擬方法直接計(jì)算并存儲(chǔ)全部量子態(tài),計(jì)算的空間復(fù)雜度隨模擬的量子比特?cái)?shù)指數(shù)增加。以n個(gè)量子比特為例,需要計(jì)算2n個(gè)復(fù)數(shù)形式的量子態(tài)來(lái)描述該量子系統(tǒng),如果采用雙精度浮點(diǎn)數(shù)表達(dá)概率幅,則需要存儲(chǔ)空間的量子態(tài)為24+nByte。目前,即使在大型超級(jí)計(jì)算機(jī)上,也很難模擬一個(gè)超過(guò)50 個(gè)量子比特的量子線路。一方面,一個(gè)包含50 個(gè)量子比特的線路,完整的狀態(tài)有250個(gè),即使采用單精度浮點(diǎn)來(lái)存儲(chǔ),也需要約4 PB 的內(nèi)存空間,這幾乎達(dá)到了當(dāng)今超級(jí)計(jì)算機(jī)可使用內(nèi)存的最大值;另一方面,即使超級(jí)計(jì)算機(jī)的內(nèi)存夠用,處理這些海量數(shù)據(jù)也比較困難,原因在于數(shù)據(jù)在超算系統(tǒng)的網(wǎng)絡(luò)傳輸中將產(chǎn)生巨大的通信負(fù)荷[27]。

薛定諤方法和費(fèi)曼方法是2 種經(jīng)典的量子計(jì)算模擬方法。薛定諤方法存儲(chǔ)全部量子態(tài),按順序計(jì)算作用不同量子門(mén)后的全部振幅,對(duì)于n個(gè)量子比特所需的24+nByte 的內(nèi)存,每個(gè)量子門(mén)需要O(2n)的計(jì)算時(shí)間,對(duì)于深度為m的量子線路,所需模擬時(shí)間約O(mn2n)。費(fèi)曼方法[28]對(duì)于終態(tài)的每個(gè)分量,枚舉通過(guò)量子線路中量子門(mén)能從初態(tài)到這一態(tài)的變化路徑,將所有這些路徑的值累加即可得到對(duì)應(yīng)的概率幅,計(jì)算過(guò)程中存儲(chǔ)一條路徑最多需要O(n2m)的空間,對(duì)于深度為m的量子線路,計(jì)算一個(gè)狀態(tài)的振幅需要的時(shí)間為O(2mn)。文獻(xiàn)[8]將上述兩種方法相結(jié)合,提出薛定諤-費(fèi)曼方法,以達(dá)到平衡算法時(shí)間和空間復(fù)雜度的目的。此外,研究人員還提出了數(shù)據(jù)壓縮[29]、輔助變量[30]、MPS[31]、PEPS[32]、部分振幅模擬[33]等方法,使得45 個(gè)量子位以上全概率幅的大規(guī)模量子計(jì)算模擬得以實(shí)現(xiàn)。

在量子計(jì)算模擬中,可將量子線路轉(zhuǎn)換為具有酉正性的特殊張量網(wǎng)絡(luò)表示,其單個(gè)概率幅的計(jì)算可以轉(zhuǎn)換成張量網(wǎng)絡(luò)縮并問(wèn)題。張量網(wǎng)絡(luò)縮并算法不直接存儲(chǔ)實(shí)時(shí)的量子態(tài),而是將初始量子態(tài)和測(cè)量基矢當(dāng)作很多一維張量,這些張量和量子門(mén)操作組成一個(gè)時(shí)間和空間維度上的三維張量網(wǎng)絡(luò)。如何對(duì)一個(gè)包含數(shù)百節(jié)點(diǎn)的高維張量網(wǎng)絡(luò)選取一條接近最優(yōu)的張量收縮路徑,是張量網(wǎng)絡(luò)收縮算法的關(guān)鍵問(wèn)題。

文獻(xiàn)[18,34]采用張量網(wǎng)絡(luò)方法計(jì)算特定量子基態(tài)的概率幅,在模擬過(guò)程中利用對(duì)角矩陣縮減計(jì)算項(xiàng)數(shù),并采用無(wú)向圖模型優(yōu)化張量網(wǎng)絡(luò)縮并順序,從而減小張量網(wǎng)絡(luò)縮并開(kāi)銷(xiāo)。文獻(xiàn)[35]改進(jìn)張量網(wǎng)絡(luò)縮并順序優(yōu)化算法,使其適用于分布式集群,并利用分布式計(jì)算的特性,將張量網(wǎng)絡(luò)計(jì)算任務(wù)拆分為多個(gè)子任務(wù),使每個(gè)子任務(wù)的執(zhí)行時(shí)間盡可能短,最終在阿里云集群上用1 PB 內(nèi)存實(shí)現(xiàn)了81 量子位、40 深度的量子線路模擬。

谷歌提出的隨機(jī)量子線路結(jié)構(gòu)是一個(gè)高度正則的張量網(wǎng)絡(luò)。當(dāng)張量網(wǎng)絡(luò)縮并時(shí),正則性將會(huì)表現(xiàn)為占用大多數(shù)計(jì)算時(shí)間的節(jié)點(diǎn),構(gòu)成一條“主干”,幾乎所有的運(yùn)算時(shí)間都花在節(jié)點(diǎn)個(gè)數(shù)相較“分支”節(jié)點(diǎn)較少的“主干”上。文獻(xiàn)[8]提出一種基于張量網(wǎng)絡(luò)收縮的模擬方法,該方法主要分為圖劃分、局部?jī)?yōu)化和動(dòng)態(tài)切片3 個(gè)步驟。首先,將張量網(wǎng)絡(luò)的節(jié)點(diǎn)劃分為若干塊,包含“主干”和“分支”部分,持續(xù)重復(fù)對(duì)“主干”部分劃分直到縮并成點(diǎn)后,對(duì)剩下的點(diǎn)再進(jìn)行計(jì)算縮并。通過(guò)識(shí)別和優(yōu)化這樣的“主干”,該方法計(jì)算速度可以比谷歌的模擬算法快200 000 倍。

文獻(xiàn)[32]基于張量網(wǎng)絡(luò)態(tài)來(lái)求解隨機(jī)量子線路采樣問(wèn)題。張量網(wǎng)絡(luò)態(tài)算法可以認(rèn)為是對(duì)張量網(wǎng)絡(luò)收縮算法選取了一條特定的收縮路徑,即先收縮時(shí)間維度,再收縮剩下的空間方向的二維張量網(wǎng)絡(luò),通過(guò)對(duì)節(jié)點(diǎn)上的張量利用奇異值分解或QR 分解進(jìn)行自動(dòng)壓縮,以降低節(jié)點(diǎn)張量的維度。

文獻(xiàn)[36]提出Big-Head方法,并使用60個(gè)英偉達(dá)GPU 組成的小型計(jì)算集群,在5 天時(shí)間內(nèi)完成了谷歌量子隨機(jī)線路的模擬。Big-Head 方法將終態(tài)的n個(gè)量子比特分為兩組,數(shù)量分別為n1和n2。任意位串s 可視作兩條位串s1和s2的拼接,其概率可計(jì)作PU(s)=PU(s1;s2)。當(dāng)n2=0 時(shí),該方法和張量網(wǎng)絡(luò)的單概率幅估算一樣。Big-Head 中最重要的環(huán)節(jié)就是找到一個(gè)滿足上述條件,時(shí)間與空間復(fù)雜度都比較合適的縮并階數(shù),其使用分割算法將整個(gè)張量網(wǎng)絡(luò)切割成Ghead與Gtail兩份,切割邊nc條。分割算法會(huì)在對(duì)n1和n2數(shù)量限制的基礎(chǔ)上最小化。要找到分割點(diǎn),需要保證同時(shí)縮并2 個(gè)部分的計(jì)算復(fù)雜度不會(huì)太大,為了達(dá)到這個(gè)目的,其使用一種聚類算法將每個(gè)子圖都分割成更小的子圖,直到每個(gè)子圖都足夠小。

常見(jiàn)量子計(jì)算模擬方法的特點(diǎn)及優(yōu)缺點(diǎn)如表2所示。全概率幅模擬方法的計(jì)算復(fù)雜度隨模擬量子線路的深度線性增長(zhǎng),因此該類方法適合模擬具有較少量子比特?cái)?shù)、任意深度的量子線路,適用于需要獲取全部模擬結(jié)果等場(chǎng)景。部分概率幅模擬方法的效率高,相比于全概率幅模擬方法能夠模擬具有更多量子位的淺深度的量子線路。張量網(wǎng)絡(luò)態(tài)算法可以用幾乎相同的模型來(lái)研究不同硬件架構(gòu)下不同深度的隨機(jī)量子線路,原因在于其通常存在一個(gè)簡(jiǎn)單的路徑搜索算法,僅需尋找一個(gè)數(shù)十個(gè)節(jié)點(diǎn)的平面圖上的最佳收縮路徑,因而實(shí)現(xiàn)起來(lái)只需要很少或者完全不需要經(jīng)驗(yàn)性參數(shù)。張量網(wǎng)絡(luò)收縮算法則往往需要考慮具體線路來(lái)確定其經(jīng)驗(yàn)參數(shù),相比而言,其在更大空間搜索最優(yōu)路徑,具有更大的優(yōu)化空間。

表2 常見(jiàn)量子計(jì)算模擬方法特點(diǎn)及優(yōu)缺點(diǎn)Table 2 Features,advantages and disadvantages of common quantum computing simulation methods

2.2 針對(duì)Clifford 線路的量子計(jì)算模擬

量子比特通常是不穩(wěn)定的,為了維持邏輯量子比特的準(zhǔn)確性,需要進(jìn)行量子糾錯(cuò)。與傳統(tǒng)的糾錯(cuò)方法不同,由于量子不可克隆定理、量子疊加態(tài)塌縮(或稱波函數(shù)塌縮)的限制,對(duì)量子比特進(jìn)行糾錯(cuò)必須加入輔助量子比特。相對(duì)于經(jīng)典比特,量子比特還存在相位上的錯(cuò)誤,這也為量子糾錯(cuò)帶來(lái)了更大的復(fù)雜性,通常需要上千個(gè)物理量子比特來(lái)實(shí)現(xiàn)一個(gè)高保真的邏輯量子比特,而這也會(huì)為系統(tǒng)帶來(lái)大量的噪聲。針對(duì)容錯(cuò)、抗退相干、保護(hù)目標(biāo)數(shù)據(jù)的準(zhǔn)確存儲(chǔ),以及正確編碼、運(yùn)行等問(wèn)題,目前研究者提出了一些解決方案,包括無(wú)消相干子空間(Decoherence Free Subspace,DFS)、拓?fù)淞孔佑?jì)算、基于量子糾錯(cuò)碼的容錯(cuò)量子計(jì)算等[37]。

針對(duì)因噪聲而導(dǎo)致的計(jì)算錯(cuò)誤問(wèn)題,可以使用量子糾錯(cuò)碼來(lái)解決。在計(jì)算錯(cuò)誤的分布滿足某些條件的情況下,可以把最終計(jì)算結(jié)果出錯(cuò)的概率降到任意低,這被稱作容錯(cuò)量子計(jì)算。與經(jīng)典糾錯(cuò)相比,量子糾錯(cuò)不僅需要處理比特錯(cuò)誤,而且還需要處理相位錯(cuò)誤。容錯(cuò)量子計(jì)算在量子計(jì)算碼的基礎(chǔ)上,通過(guò)級(jí)聯(lián)的方式實(shí)現(xiàn)量子邏輯門(mén),以至于當(dāng)物理操作的出錯(cuò)率低于容錯(cuò)閾值時(shí),量子邏輯門(mén)的錯(cuò)誤率急劇降低,從而實(shí)現(xiàn)可靠的量子計(jì)算。

量子糾錯(cuò)碼與級(jí)聯(lián)結(jié)合,滿足容錯(cuò)量子計(jì)算要求,橫向?qū)崿F(xiàn)量子邏輯門(mén),使得錯(cuò)誤的位數(shù)和傳播控制在量子糾錯(cuò)碼的糾錯(cuò)范圍內(nèi)。在量子糾錯(cuò)碼上,可以橫向?qū)崿F(xiàn)的量子邏輯門(mén)基本來(lái)自于Clifford 群。Clifford 群是指把Pauli 群共軛映射到Pauli 群的操作形成的群,包括Hadamard 門(mén)、相位門(mén)S 和受控非門(mén)CNOT 等。

Stabilizer codes 是一種基于穩(wěn)定子的定義通用量子糾錯(cuò)碼的框架,用以表述和操作需要的量子態(tài),其使用Clifford group 中的量子門(mén)對(duì)穩(wěn)定子態(tài)進(jìn)行編碼和解碼。拓?fù)浯a是一種比較容易實(shí)現(xiàn)的編碼方式,其可構(gòu)造局域的穩(wěn)定子測(cè)量來(lái)避免遠(yuǎn)程的量子比特的交互,從而降低對(duì)設(shè)備的要求。拓?fù)浯a的一個(gè)顯著的優(yōu)點(diǎn)在于,人們可以通過(guò)增加單位晶胞的大小來(lái)提升檢錯(cuò)和糾錯(cuò)的容量。然而,隨著編碼容量的增大,解碼的任務(wù)必然會(huì)對(duì)量子態(tài)造成干擾,因而設(shè)計(jì)有效的解碼算法成為拓?fù)浯a最重要的任務(wù)。表面碼的關(guān)鍵問(wèn)題在于,要使用它來(lái)實(shí)現(xiàn)通用量子門(mén)集合是比較困難的,因?yàn)槠淙鄙賂offoli 門(mén)以及π/8 門(mén)。在容錯(cuò)量子計(jì)算的標(biāo)準(zhǔn)模型中,通常使用魔法態(tài)注入過(guò)程來(lái)構(gòu)造一個(gè)完整的量子門(mén)集合。

隨機(jī)基準(zhǔn)測(cè)試[38]和量子過(guò)程層析(Quantum Process Tomography,QPT)[39]可以分別測(cè)量噪聲量子信道的平均門(mén)保真度和完整信息,但這2 種方法只在幾個(gè)量子位系統(tǒng)中是有效的。交叉熵基準(zhǔn)測(cè)試可以用于驗(yàn)證多量子比特系統(tǒng),但無(wú)法直接應(yīng)用于經(jīng)典計(jì)算機(jī)不可模擬的量子線路。量子計(jì)算機(jī)的并行計(jì)算能力隨量子比特?cái)?shù)目增加而指數(shù)上升,同時(shí),表征量子線路誤差的難度也指數(shù)上升[9]。文獻(xiàn)[40]提出一種基于Clifford 采樣的方法來(lái)描述量子線路的誤差,克服了現(xiàn)有誤差表征方法的不足,但只適用于少數(shù)幾個(gè)比特的量子線路,很難被用在未來(lái)成百上千個(gè)量子比特的量子線路表征中。Clifford 采樣將一個(gè)指數(shù)復(fù)雜度的問(wèn)題轉(zhuǎn)換成多項(xiàng)式的問(wèn)題,具有很好的可擴(kuò)展性,適用于大規(guī)模量子線路參數(shù)的優(yōu)化以及篩選等多個(gè)領(lǐng)域。

Gottesman-Knill 定理表明,一個(gè)僅由CNOT、Hadamard 門(mén)和相位門(mén)組成的量子線路可以在經(jīng)典計(jì)算機(jī)上有效模擬。文獻(xiàn)[41]改進(jìn)了定理中的算法,去除對(duì)高斯消元法的依賴,并給出2 種穩(wěn)定態(tài)內(nèi)積計(jì)算的有效算法。針對(duì)Clifford+T 門(mén)線路的模擬,研究者開(kāi)展了一系列的工作,包括模擬包含少量T 門(mén)的量子線路和考慮nonstabilizer 的輸入態(tài)+Clifford 線路的模擬等[42-43]。為了解決量子線路的容錯(cuò)和可靠性問(wèn)題,研究者提出了量子線路的一系列結(jié)構(gòu)等效規(guī)則和優(yōu)化操作策略,以盡量減少T 門(mén)的數(shù)量,增加T 門(mén)的深度,最小化線路級(jí),減少容錯(cuò)實(shí)現(xiàn)代價(jià)并提高線路可靠性[44]。

2.3 針對(duì)含噪聲線路的量子計(jì)算模擬

NISQ 設(shè)備的計(jì)算能力對(duì)于量子信息科學(xué)具有基礎(chǔ)和實(shí)際重要性。如果沒(méi)有減少或繞過(guò)物理噪聲的策略,在苛刻的條件下任何量子程序的執(zhí)行都可能會(huì)失敗。降噪技術(shù)的策略是設(shè)計(jì)更穩(wěn)健的量子位來(lái)延長(zhǎng)時(shí)間,以及執(zhí)行更精確的門(mén)操作以提高可靠性等。隨機(jī)編譯是一種常用的策略,即在量子線路中插入隨機(jī)門(mén)。所有相干誤差和非馬爾科夫噪聲都可以轉(zhuǎn)換為隨機(jī)泡利誤差,在保留一個(gè)量子線路邏輯操作的同時(shí)誤差容易被檢測(cè)和糾正。雖然噪聲對(duì)單個(gè)隨機(jī)線路的影響可能有所不同,但在多個(gè)隨機(jī)線路上的預(yù)期噪聲被打亂,并調(diào)整成一種簡(jiǎn)單的隨機(jī)形式。

文獻(xiàn)[45]考慮了在對(duì)稱或非對(duì)稱去極化噪聲下一大類隨機(jī)通用量子線路,并證明了如果每個(gè)量子門(mén)的噪聲是恒定的,那么這些量子線路的輸出可以用系統(tǒng)大小的時(shí)間代價(jià)多項(xiàng)式進(jìn)行經(jīng)典有效的模擬。文獻(xiàn)[46]結(jié)合了純態(tài)分解和低維基投影的思想來(lái)有效地模擬噪聲量子線路,提出將混合密度矩陣分解為一個(gè)類似于純態(tài)集合的低秩矩陣,將門(mén)和Kraus 運(yùn)算子應(yīng)用于該低秩矩陣,并計(jì)算了輸出密度矩陣和概率分布。該過(guò)程包括對(duì)密度矩陣的迭代壓縮,可保持一個(gè)具有最小誤差的數(shù)值緊湊形式。

3 量子計(jì)算模擬器

量子模擬器是在經(jīng)典計(jì)算機(jī)上實(shí)現(xiàn)對(duì)量子計(jì)算機(jī)的模擬。近年來(lái),基于量子計(jì)算原理,國(guó)內(nèi)外許多公司機(jī)構(gòu)設(shè)計(jì)并開(kāi)發(fā)了大量的量子模擬器,如QisKit 量子模擬器(IBM)[47-48]、QDK 量子模擬器(Microsoft)[49]、太章量子模擬器(阿里巴巴)[10-11]等?,F(xiàn)有的量子模擬器規(guī)模仍屬于NISQ 模擬器,模擬量子比特?cái)?shù)在100 以內(nèi),主要受限于經(jīng)典計(jì)算機(jī)的存儲(chǔ)技術(shù)和處理能力。本文系統(tǒng)梳理了國(guó)內(nèi)外常見(jiàn)的量子計(jì)算模擬器,如表3 所示。

表3 常見(jiàn)量子計(jì)算模擬器Table 3 Common quantum computing simulators

QisKit[47]是由IBM推出的Python量子開(kāi)發(fā)工具集,包含Terra(量子計(jì)算基礎(chǔ)庫(kù))、Aer(帶有噪聲的模擬器)、Aqua(量子算法)、Ignis(檢測(cè)和去除實(shí)際量子計(jì)算機(jī)噪聲)四大組件,該量子模擬器可用于機(jī)器學(xué)習(xí)、自然科學(xué)、經(jīng)濟(jì)金融領(lǐng)域以及解決最優(yōu)化問(wèn)題。

QDK[49]是Microsoft 推出的Q#量子開(kāi)發(fā)工具集,Q#是一款面向量子計(jì)算機(jī)開(kāi)發(fā)的程序語(yǔ)言,其結(jié)合了Python、C#等多種語(yǔ)言的設(shè)計(jì)元素,對(duì)量子計(jì)算機(jī)的邏輯進(jìn)行了高度的封裝。QDK 包括Q#編譯器、量子庫(kù)和量子模擬器,該量子模擬器可應(yīng)用于量子機(jī)器學(xué)習(xí)、量子化學(xué)等領(lǐng)域。

太章[10-11]是阿里巴巴推出的Python 量子開(kāi)發(fā)工具集,目前最高存儲(chǔ)不到60 量子比特的量子態(tài),太章采用張量網(wǎng)絡(luò)收縮的動(dòng)態(tài)拆分辦法,減少了量子線路模擬的資源占用,支持量子算法和糾錯(cuò)。

HiQ[50]是華為推出的Python 量子開(kāi)發(fā)工具集,包括華為HiQ 量子模擬器、HiQ Pulse、HiQ Fermion等功能模塊,目前主要應(yīng)用于量子化學(xué)領(lǐng)域。

ProjectQ[16]是蘇黎世聯(lián)邦理工學(xué)院推出的Python 量子開(kāi)發(fā)工具集,其提供了量子模擬器、編譯器框架、編譯器插件、資源估算等模塊,可實(shí)現(xiàn)量子和量子線路的模擬。

Cirq[51]是谷歌推出的Python 量子模擬器,用戶可通過(guò)Cirq 實(shí)現(xiàn)對(duì)量子線路的精確控制,同時(shí)開(kāi)源的OpenFermion-Cirq 可應(yīng)用于量子化學(xué)領(lǐng)域。在Cirq 的基礎(chǔ)上,谷歌應(yīng)用量子機(jī)器學(xué)習(xí)原理設(shè)計(jì)開(kāi)源TensorFlow-Quantum(TFQ),該框架可有效解決量子分類、量子線路優(yōu)化等問(wèn)題。

Qpanda[52]是本源量子推出的C++量子工具集,其在量子模擬器基礎(chǔ)上實(shí)現(xiàn)了大量量子算法,如量子近似優(yōu)化算法(QAOA)、Deutsh-Jozsa算法、Grover算法等。

QuEST[18]是牛津大學(xué)QTechTheory 團(tuán)隊(duì)推出的C++量子模擬器,其在模擬基本量子計(jì)算的基礎(chǔ)上,支持CPU、GPU 多平臺(tái)運(yùn)行。

為了安全庫(kù)存模型求解的合理性,需要做出以下假設(shè):(1)生產(chǎn)線不允許缺料停線,停線費(fèi)用設(shè)為無(wú)窮大。(2)庫(kù)存的消耗是連續(xù)且均勻的,即假設(shè)生產(chǎn)線是以恒定生產(chǎn)節(jié)拍進(jìn)行消耗的,速度V線性消耗的,V是常數(shù)。(3)庫(kù)存的補(bǔ)貨時(shí)間遠(yuǎn)遠(yuǎn)小于周期運(yùn)行時(shí)間,在此忽略不計(jì)。(4)庫(kù)存的補(bǔ)充間隔時(shí)間大于等于Milk-run系統(tǒng)的周期時(shí)間,記為T(mén)。(5)為了應(yīng)對(duì)生產(chǎn)波動(dòng)需要設(shè)置安全風(fēng)險(xiǎn)系數(shù)γ,增加安全庫(kù)存量來(lái)應(yīng)對(duì)可能的風(fēng)險(xiǎn)。Milk-run線邊庫(kù)存模型一次補(bǔ)充量P必須滿足T時(shí)間內(nèi)生產(chǎn)線的消耗,其物料的安全庫(kù)存量設(shè)置為:

Intel Quantum Simulator(IQS)[53]是Intel 推出的C++量子模擬器,前身為qHiPSTER,其提供了高性能計(jì)算功能,可支持用戶通過(guò)超級(jí)計(jì)算機(jī)進(jìn)行模擬。

量漿[54]是百度推出的量子模擬器,其支持量子神經(jīng)網(wǎng)絡(luò)的搭建和訓(xùn)練,提供了多個(gè)量子機(jī)器學(xué)習(xí)案例,如量子近似優(yōu)化算法(QAOA)、變分量子特征求解器(VQE)、量子神經(jīng)網(wǎng)絡(luò)的貧瘠高原效應(yīng)(Barren Plateaus)、量子分類器(Quantum Classifier)等。

目前,量子模擬器屬于NISQ 模擬器,在未來(lái)幾年,提升量子比特?cái)?shù)、優(yōu)化量子模擬器、構(gòu)建模擬器上層軟件將成為量子模擬器的研究熱點(diǎn)。

4 基于超算集群的量子計(jì)算模擬

超級(jí)計(jì)算機(jī)集群為量子計(jì)算的模擬提供了硬件平臺(tái),基于超算集群的量子計(jì)算模擬主要涉及以下2 項(xiàng)影響性能的關(guān)鍵問(wèn)題:

1)任務(wù)拆分。任務(wù)拆分即拆分量子線路為多個(gè)子線路,并將其分配至不同的節(jié)點(diǎn)進(jìn)行計(jì)算。任務(wù)拆分的目的是利用超算集群的運(yùn)算性能來(lái)應(yīng)對(duì)量子計(jì)算模擬帶來(lái)的海量存儲(chǔ)和計(jì)算資源開(kāi)銷(xiāo)問(wèn)題。合適的任務(wù)拆分策略可協(xié)助提升模擬性能,縮減節(jié)點(diǎn)間通信開(kāi)銷(xiāo),允許更多任務(wù)被拆分為子任務(wù)并行計(jì)算,充分利用超算集群的并行處理能力。

2)通信優(yōu)化。通信優(yōu)化涉及2 項(xiàng)優(yōu)化內(nèi)容:節(jié)點(diǎn)間通信次數(shù)以及單次通信傳輸數(shù)據(jù)量(單次通信開(kāi)銷(xiāo)),這2 項(xiàng)優(yōu)化內(nèi)容之間亦可進(jìn)行權(quán)衡。不合理的通信策略可能造成節(jié)點(diǎn)間帶寬擁堵、通信延時(shí)增加、節(jié)點(diǎn)數(shù)據(jù)饑餓等問(wèn)題,因此,進(jìn)行通信優(yōu)化是提升超算集群運(yùn)算性能的關(guān)鍵。

下文分別闡述任務(wù)拆分和通信優(yōu)化的代表性工作。

4.1 任務(wù)拆分

現(xiàn)有的量子線路拆分方法通常采用分割多線路量子門(mén)操作的方式來(lái)拆分。拆分一個(gè)多線路門(mén)操作可生成多個(gè)小規(guī)模的子線路。將子線路分別執(zhí)行后的結(jié)果進(jìn)行合并,可得到原線路的執(zhí)行結(jié)果。文獻(xiàn)[33]為了能夠在經(jīng)典計(jì)算機(jī)上模擬更多量子比特,提出了一種“slice”的方法,將原來(lái)可能存在糾纏的整個(gè)量子線路切割成2 個(gè)或多個(gè)互不糾纏的子線路,并按照這種方式在IBM Blue Gene/Q 超級(jí)計(jì)算機(jī)上完成了對(duì)49 個(gè)量子比特、線路深度為27 的量子線路以及56 個(gè)量子比特、線路深度為23 的量子線路的模擬,提升了經(jīng)典計(jì)算機(jī)所能夠模擬的量子程序的規(guī)模。

如果在分割時(shí)把線路分割成不同的子部分而分割線遇到了CZ 門(mén)(見(jiàn)圖3(a)),那么必須考慮控制線路對(duì)目標(biāo)線路所有可能的影響。當(dāng)控制線路1 在當(dāng)前狀態(tài)是|0〉時(shí),CZ 門(mén)對(duì)目標(biāo)線路2 不產(chǎn)生影響(見(jiàn)圖3(b));當(dāng)控制線路處于|1〉狀態(tài)時(shí),目標(biāo)線路則要經(jīng)過(guò)一個(gè)Z 門(mén)操作(見(jiàn)圖3(c))。這樣,為了剝離一個(gè)CZ 門(mén)的糾纏,系統(tǒng)狀態(tài)在此處便產(chǎn)生了分支,而且使得子線路的個(gè)數(shù)翻倍。

圖3 糾纏量子線路分割示例Fig.3 Example of entangled quantum circuit segmentation

假如一個(gè)系統(tǒng)在分割前有N條線路,則全概率幅模擬需要的存儲(chǔ)空間為2N。應(yīng)用分割法后產(chǎn)生了2 個(gè)各有N/2 條線路的系統(tǒng),這個(gè)系統(tǒng)的存儲(chǔ)空間約等同于2×2N/2個(gè)量子比特。如果在分割時(shí)分割了n個(gè)CZ 門(mén),則最終的空間需求為2×2N/2×2n=2(N/2+n+1)。對(duì)于有大量線路的系統(tǒng),層數(shù)較少的模擬的確可以大幅減少內(nèi)存的需求,但隨著層數(shù)的增加,所切割的CZ 門(mén)數(shù)量也會(huì)相應(yīng)增加,降低了使用該方法的優(yōu)勢(shì)。最終當(dāng)n>N/2-1 時(shí),該方法對(duì)內(nèi)存的需求比不分割還要大,從而失去了應(yīng)用價(jià)值。

基于上述方法,文獻(xiàn)[35]把6×7、7×8、8×8 的量子線路分割成尺寸大致相等的2、3 和4 個(gè)部分,并對(duì)這些線路進(jìn)行了多達(dá)36 層的模擬。為了衡量線路模擬的困難程度,其定義了一個(gè)稱為Complexity in qubit的物理量。該物理量實(shí)際上等同于需要同樣內(nèi)存大小的未拆分線路的量子比特?cái)?shù),如圖4 所示。可以看出,每分割一個(gè)CZ 門(mén),系統(tǒng)的子線路個(gè)數(shù)便翻倍。

圖4 線路復(fù)雜度隨線路深度的變化Fig.4 Variation of circuit complexity with circuit depth

通過(guò)理論分析可發(fā)現(xiàn),隨著深度的增加,線路復(fù)雜度呈單調(diào)增長(zhǎng),因?yàn)榫€路會(huì)遇到越來(lái)越多的CZ門(mén)。當(dāng)所有深度的CZ 門(mén)總量接近線路大小的一半時(shí)(見(jiàn)上段),該方法就達(dá)到了一個(gè)臨界深度。使用該方法進(jìn)行超過(guò)臨界深度的模擬會(huì)比不使用更加困難。當(dāng)線路大小增加時(shí),臨界深度也相應(yīng)增加,因此,該方法適合用于大尺寸少深度的線路。

文獻(xiàn)[57]對(duì)分割法進(jìn)行改進(jìn),提出了implicit decomposition 分割算法。該算法把線路分成不固定但有類似大小的三部分,分割線會(huì)隨著線路深度逐漸變化。implicit decomposition 算法對(duì)有4 個(gè)量子比特的線路的分割情況如圖5 所示。其中:A 部分有兩條線路,同時(shí)也分割了兩個(gè)CZ 門(mén)(門(mén)的狀態(tài)由線路2 上的b1 和b2 決定),因此,A 部分完整的狀態(tài)需要22×22=16 個(gè)概率幅來(lái)表示;B 部分本來(lái)也同樣需要16 個(gè)概率幅來(lái)表示,但由于線路2 在經(jīng)過(guò)位置b2 后結(jié)束,因此該文作者認(rèn)為b2 的狀態(tài)必須和線路2 的最終狀態(tài)一致,所以,B 部分的狀態(tài)向量可以減少一半的概率幅數(shù)。利用以上算法在“太湖之光”上能夠模擬7×7 個(gè)量子比特的39 層隨機(jī)線路,此規(guī)模已超過(guò)了在Blue Gene/Q 機(jī)器上同等量子比特?cái)?shù)下的27 層模擬,達(dá)到了國(guó)際領(lǐng)先水平。

圖5 implicit decomposition 分割算法示意圖Fig.5 Schematic diagram of implicit decomposition segmentation algorithm

線路拆分方式側(cè)重點(diǎn)在于模擬更大的、擁有更多相互糾纏量子比特的線路,其可以達(dá)到的深度受多量子門(mén)總數(shù)的影響。如果一個(gè)線路含有較低密度的多量子門(mén),那么該系統(tǒng)中各線路的糾纏程度就會(huì)較低,因此,也可以模擬更大深度的量子線路。

4.2 通信優(yōu)化

在超算集群上進(jìn)行量子計(jì)算模擬時(shí),節(jié)點(diǎn)間和存儲(chǔ)間存在數(shù)據(jù)依賴,跨節(jié)點(diǎn)和設(shè)備的通信無(wú)法避免,因此,需要研究計(jì)算過(guò)程中的數(shù)據(jù)分布和數(shù)據(jù)傳輸方法以降低模擬過(guò)程的通信開(kāi)銷(xiāo)。文獻(xiàn)[30]研究了量子算法中節(jié)點(diǎn)間的數(shù)據(jù)關(guān)聯(lián)性,針對(duì)量子計(jì)算每個(gè)量子門(mén)仿真過(guò)程中訪問(wèn)的概率幅數(shù)據(jù)進(jìn)行分析,提出一種MPI 進(jìn)程間每個(gè)量子執(zhí)行前進(jìn)行的數(shù)據(jù)交互策略,從而降低節(jié)點(diǎn)間數(shù)據(jù)的關(guān)聯(lián)性,實(shí)現(xiàn)數(shù)據(jù)本地化,使通信頻率降低到多項(xiàng)式級(jí)。文獻(xiàn)[46]研究了異構(gòu)眾核集群環(huán)境下的大規(guī)模量子計(jì)算模擬,提出通過(guò)最大化本地執(zhí)行的量子門(mén)數(shù)量來(lái)降低通信頻率的方法,在異構(gòu)眾核架構(gòu)超級(jí)計(jì)算機(jī)Cori II 上實(shí)現(xiàn)了45 量子比特的量子計(jì)算機(jī)模擬實(shí)驗(yàn)。文獻(xiàn)[59]為了解決不同GPU 之間的高數(shù)據(jù)依賴性,利用GPU Direct 技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了使用GPU直接P2P 傳輸?shù)姆桨?,其使? 塊GPU 進(jìn)行多GPU的量子計(jì)算模擬,相較于libquantum 獲得了358 倍的加速比,并行效率達(dá)到0.92。

量子比特可以分為本地量子比特、節(jié)點(diǎn)內(nèi)非本地量子比特和節(jié)點(diǎn)外非本地量子比特3 類。當(dāng)量子門(mén)作用在非本地量子比特上時(shí),會(huì)產(chǎn)生指數(shù)級(jí)的通信頻率問(wèn)題。假設(shè)每個(gè)節(jié)點(diǎn)的內(nèi)存空間可容納L位量子比特的所有概率幅,則模擬N位的量子比特需要2N-L個(gè)節(jié)點(diǎn)。如果對(duì)這些節(jié)點(diǎn)進(jìn)行二進(jìn)制編碼,那么量子態(tài)(aN-1…a2a1a0) 的概率幅將存儲(chǔ)在(aN-1aN-2…aL+1aL)號(hào)節(jié)點(diǎn)上的第(aL-1…a2a1a0)號(hào)位置,其中,ai∈{0,1}為第i位的量子態(tài)。例如,當(dāng)N=5,L=2 時(shí),系統(tǒng)使用了8 個(gè)節(jié)點(diǎn)來(lái)存儲(chǔ)所有概率幅,節(jié)點(diǎn)編號(hào)為(000)~(111),每個(gè)節(jié)點(diǎn)存儲(chǔ)4 個(gè)概率幅,編號(hào)為(00)~(11),則量子態(tài)(11010)的概率幅就存儲(chǔ)在第(110)號(hào)節(jié)點(diǎn)中的第3 個(gè)地址上。

由于所有概率幅分布儲(chǔ)存在各個(gè)節(jié)點(diǎn)上,因此一些門(mén)操作可能需要進(jìn)行節(jié)點(diǎn)間通信。以單門(mén)H 為例,對(duì)第i條線路的單門(mén)操作需要更改量子態(tài)概率幅(…ai…),此操作需要讀取和更新量子態(tài)系數(shù)(…0i…)和(…1i…)。當(dāng)iL時(shí),第(aN-1…0j…aL)和(aN-1…1j…aL)號(hào)節(jié)點(diǎn)上的概率幅需要互相交換信息,此時(shí)系統(tǒng)需要2N-1次MPI通信。第L至N-L位量子比特稱為全局(或“非本地”)量子比特??绻?jié)點(diǎn)通信的延時(shí)要比節(jié)點(diǎn)內(nèi)通信大很多,而且當(dāng)通信過(guò)多時(shí)容易產(chǎn)生網(wǎng)絡(luò)阻塞,因此,本地量子位上的門(mén)操作相對(duì)全局量子位操作時(shí)間開(kāi)銷(xiāo)更小。

假如要對(duì)第0 和1 位量子做一個(gè)CZ 門(mén)操作CZ0,1,即把所有A=(***01)的量子態(tài)與B=(***11)的量子態(tài)相交換(其中,一個(gè)*號(hào)代表一位量子態(tài),為表達(dá)簡(jiǎn)潔,把a(bǔ)4a3a2化簡(jiǎn)為***)。由于第0 和1 位是本地量子比特,因此這個(gè)CZ0,1操作可以在各節(jié)點(diǎn)內(nèi)快速交換(***01)和(***11)的數(shù)據(jù)來(lái)完成,如圖6 所示。另一方面,假如要對(duì)第3 和4 位的全局量子比特進(jìn)行CZ3,4操作,那么概率幅C=(01***)和D=(11***)互換的操作就需要跨節(jié)點(diǎn)進(jìn)行(此處***為a2a1a0),并要利用MPI 實(shí)行8次數(shù)據(jù)交換,運(yùn)算時(shí)間要比CZ0,1長(zhǎng)得多。如圖7所示:當(dāng)進(jìn)行CZ0,1操作時(shí),節(jié)點(diǎn)內(nèi)進(jìn)行1 次信息交換,交換位置由曲線標(biāo)出;當(dāng)進(jìn)行CZ3,4操作時(shí),節(jié)點(diǎn)間進(jìn)行8 次信息交換,交換位置由直線標(biāo)出。

圖6 一個(gè)使用8 個(gè)節(jié)點(diǎn)儲(chǔ)存5 個(gè)量子比特的系統(tǒng)示意圖Fig.6 Schematic diagram of a system using eight nodes storing five qubits

圖7 數(shù)據(jù)本地化示意圖Fig.7 Schematic diagram of data localization

CZi,j是一種比較簡(jiǎn)單的操作,因?yàn)槠鋽?shù)學(xué)表達(dá)矩陣只有4 個(gè)非零系數(shù)。對(duì)于一些比較復(fù)雜的門(mén)操作,例如XX Ising 門(mén),所有存儲(chǔ)(00***)量子態(tài)概率幅的節(jié)點(diǎn)需要和存儲(chǔ)(11***)的節(jié)點(diǎn)通信,存儲(chǔ)(01***)和(10***)的節(jié)點(diǎn)也互相通信,共16 次。如果不對(duì)算法進(jìn)行優(yōu)化,全局量子位的計(jì)算將會(huì)變得很緩慢。

利用數(shù)據(jù)本地化的原理,可以把需要模擬的量子位從全局位置移至本地位置,移動(dòng)后在節(jié)點(diǎn)內(nèi)的內(nèi)存中進(jìn)行運(yùn)算,從而大幅節(jié)省時(shí)間開(kāi)銷(xiāo)[59]。

假設(shè)節(jié)點(diǎn)內(nèi)存可容納的量子位數(shù)L不小于需要模擬的位數(shù),以3、4 位的XX Ising 門(mén)為例,把第3、4 位量子比特的數(shù)據(jù)與第0、1 位互換,即:(00*01)與(01*00)互換;(00*10)與(10*00)互換;(00*11)與(11*00)互換;(01*10)與(10*01)互換;(01*11)與(11*01)互換;(10*11)與(11*10)互換。這6 組互換中的每一組實(shí)際包含了2 次互換,共12 次,少于優(yōu)化前所需的16 次數(shù)據(jù)通信量。交換后,所有(**a2a1a0)數(shù)據(jù)都存儲(chǔ)在編號(hào)為(**a1a0a2)的節(jié)點(diǎn)內(nèi),各節(jié)點(diǎn)可以同時(shí)并行地執(zhí)行門(mén)操作。

由圖7可以看出,經(jīng)過(guò)12次數(shù)據(jù)交換后,第3、4位量子比特的概率幅(**a2a1a0)將會(huì)存儲(chǔ)在同一節(jié)點(diǎn)(a1a0a2)內(nèi),圖中右邊部分給出了經(jīng)交換后節(jié)點(diǎn)(100)和(101)所存數(shù)據(jù)對(duì)應(yīng)的量子態(tài)概率幅。操作完畢后,再根據(jù)下一個(gè)門(mén)所模擬的線路編號(hào)進(jìn)行下一次的數(shù)據(jù)本地化,以此類推。

以此系統(tǒng)(N=5,L=2)為例,數(shù)據(jù)本地化方法能夠把任意復(fù)雜的雙量子門(mén)操作降低至12 次數(shù)據(jù)互換,而對(duì)于一些非常簡(jiǎn)單的門(mén)操作,直接操作可能不需要12 次數(shù)據(jù)互換,這需要算法在模擬中作具體判斷。數(shù)據(jù)本地化還可類推用來(lái)優(yōu)化多量子門(mén)操作,詳情不在此文展開(kāi)。

5 結(jié)束語(yǔ)

量子計(jì)算模擬為量子計(jì)算機(jī)及量子算法的研究和驗(yàn)證提供了有效的途徑。本文介紹量子計(jì)算模擬方法的研究進(jìn)展,對(duì)不同方法的設(shè)計(jì)思路和優(yōu)缺點(diǎn)進(jìn)行對(duì)比分析,列舉目前常見(jiàn)的量子計(jì)算模擬器,并對(duì)利用超級(jí)計(jì)算機(jī)實(shí)現(xiàn)量子計(jì)算模擬的優(yōu)化方法進(jìn)行討論。大規(guī)模量子計(jì)算模擬全部量子態(tài)概率幅的方式所需內(nèi)存資源隨被模擬的量子位數(shù)指數(shù)增加,可模擬的量子位數(shù)受到物理內(nèi)存容量的制約,而部分概率幅模擬方法通過(guò)有效降低時(shí)間復(fù)雜度和空間復(fù)雜度,計(jì)算效率比全概率幅模擬方法更高,且在模擬過(guò)程中考慮線路的分割和數(shù)據(jù)的本地化,能夠在節(jié)點(diǎn)內(nèi)用更少的時(shí)間并行完成門(mén)操作計(jì)算。此外,為實(shí)現(xiàn)量子計(jì)算的大規(guī)模實(shí)用化,糾錯(cuò)、容錯(cuò)技術(shù)也同樣需要發(fā)展。

目前,量子計(jì)算模擬在算法和工程上仍有很大的優(yōu)化空間。在算法方面,張量網(wǎng)絡(luò)縮并的順序極大地影響計(jì)算效率,未來(lái)可探索更優(yōu)縮并順序算法;在工程方面,需要應(yīng)用張量運(yùn)算來(lái)充分發(fā)揮硬件性能,進(jìn)一步減少線路模擬所需的時(shí)間。同時(shí),可擴(kuò)展性和容錯(cuò)也將是未來(lái)量子計(jì)算研究中的關(guān)鍵問(wèn)題。

猜你喜歡
量子態(tài)張量模擬器
一類張量方程的可解性及其最佳逼近問(wèn)題 ①
了不起的安檢模擬器
基于l1范數(shù)相干度的量子態(tài)區(qū)分
嚴(yán)格對(duì)角占優(yōu)張量的子直和
盲盒模擬器
劃船模擬器
四元數(shù)張量方程A*NX=B 的通解
一類結(jié)構(gòu)張量方程解集的非空緊性
一類兩體非X-型量子態(tài)的量子失諧
量子特性與量子信息技術(shù)
西平县| 盐城市| 马关县| 砚山县| 濮阳县| 芮城县| 来宾市| 香河县| 马尔康县| 大石桥市| 贵阳市| 张家川| 苍南县| 湘潭县| 三穗县| 乐山市| 汉寿县| 开平市| 浮梁县| 逊克县| 平定县| 婺源县| 龙海市| 扬中市| 沙河市| 布尔津县| 简阳市| 龙游县| 财经| 高台县| 汶川县| 宝应县| 枣庄市| 四子王旗| 高雄市| 河源市| 柯坪县| 五家渠市| 康乐县| 海晏县| 宕昌县|