0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

混合量子經(jīng)典計(jì)算平臺(tái)QODA

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:Alex McCaskey ? 2022-10-10 11:43 ? 次閱讀

在過去的十年里,量子計(jì)算從學(xué)術(shù)實(shí)驗(yàn)室躍入主流。創(chuàng)業(yè)公司和大公司都在努力制造更好的量子計(jì)算機(jī)。雖然目前尚不清楚我們離在常見問題上使用量子優(yōu)勢還有多遠(yuǎn),但很明顯,現(xiàn)在是構(gòu)建交付有價(jià)值的量子應(yīng)用所需工具的時(shí)候了。

首先,我們需要在理解量子算法方面取得進(jìn)展。去年, NVIDIA 發(fā)布了 cuQuantum ,這是一款用于加速量子計(jì)算模擬的軟件開發(fā)工具包( SDK )。在 GPU 上使用 cuQuantum 模擬量子電路,使算法研究的性能和規(guī)模遠(yuǎn)遠(yuǎn)超過了目前在量子處理單元( QPU )上可以實(shí)現(xiàn)的性能和規(guī)模。這為在理解如何充分利用量子計(jì)算機(jī)方面取得突破鋪平了道路。

除了改進(jìn)量子算法外,我們還需要充分利用 QPU 以及經(jīng)典計(jì)算資源 CPU 和 GPU 。如今, NVIDIA 宣布推出 量子優(yōu)化設(shè)備架構(gòu)( QODA ) 是一個(gè)混合量子經(jīng)典計(jì)算平臺(tái),其使命是實(shí)現(xiàn)這一效用。

隨著量子計(jì)算的發(fā)展,所有有價(jià)值的量子應(yīng)用都將是混合的,量子計(jì)算機(jī)將與高性能經(jīng)典計(jì)算一起工作。 GPU 純粹為圖形而創(chuàng)建,并轉(zhuǎn)化為 high-performance computing ( HPC )的基本硬件。這需要新的軟件來實(shí)現(xiàn)強(qiáng)大而直接的編程。量子計(jì)算機(jī)從科學(xué)實(shí)驗(yàn)向有用加速器的轉(zhuǎn)變也需要新的軟件。

量子軟件的這一新時(shí)代將實(shí)現(xiàn)性能混合計(jì)算,并為更廣泛的科學(xué)家和創(chuàng)新者群體增加量子計(jì)算機(jī)的可訪問性。

量子編程景觀

在過去五年中,針對(duì)小規(guī)模、噪聲量子計(jì)算架構(gòu)的量子編程方法得到了發(fā)展。這一發(fā)展對(duì)算法開發(fā)人員來說意義重大,并使標(biāo)準(zhǔn)量子算法以及混合變分方法的早期原型化成為可能。

由于缺乏量子資源和硬件實(shí)現(xiàn)的實(shí)用性,大多數(shù)編程方法都處于純 Python 級(jí)別,支持遠(yuǎn)程、基于云的執(zhí)行模型。

隨著量子體系結(jié)構(gòu)的改進(jìn)和算法開發(fā)人員考慮現(xiàn)有經(jīng)典異構(gòu)計(jì)算的真正量子加速,問題出現(xiàn)了:我們應(yīng)該如何在傳統(tǒng)高性能計(jì)算環(huán)境中支持量子協(xié)處理?

NVIDIA 是開發(fā)高性能計(jì)算編程模型、異構(gòu)編譯器平臺(tái)和高級(jí)應(yīng)用程序庫的真正先驅(qū),這些應(yīng)用程序庫可以通過一個(gè)或多個(gè)應(yīng)用程序加速傳統(tǒng)的科學(xué)計(jì)算工作流 NVIDIA GPU 。

我們將量子計(jì)算視為異構(gòu)高性能計(jì)算系統(tǒng)架構(gòu)的另一個(gè)元素,并設(shè)想了一種編程模型,該模型將量子協(xié)處理無縫地結(jié)合到我們現(xiàn)有的系統(tǒng)中 CUDA 生態(tài)系統(tǒng) 。 在這方面,目前從 Python 語言級(jí)別開始的方法是不夠的,最終將限制經(jīng)典和量子計(jì)算資源的性能集成。

QODA 用于高性能計(jì)算

NVIDIA 正在開發(fā)一個(gè)開放規(guī)范,用于在高性能計(jì)算環(huán)境中編程混合量子經(jīng)典計(jì)算架構(gòu)。我們宣布 QODA 編程模型規(guī)范和相應(yīng)的 NVQ ++編譯器平臺(tái),支持后端不可知(物理、模擬)、單源、現(xiàn)代 C ++方法來實(shí)現(xiàn)量子加速高性能計(jì)算。

QODA 與現(xiàn)有的經(jīng)典并行編程模型(如 CUDA 、 OpenMP 和 OpenACC )具有內(nèi)在的互操作性。該編譯器實(shí)現(xiàn)還將量子經(jīng)典 C ++源代碼表示降低為二進(jìn)制可執(zhí)行文件,這些二進(jìn)制可執(zhí)行文件本機(jī)以支持量子的模擬后端為目標(biāo)。

該編程和編譯工作流程通過與 GPU 處理和電路模擬的標(biāo)準(zhǔn)互操作性,實(shí)現(xiàn)了一個(gè)性能良好的編程環(huán)境,用于加速混合算法的研究和開發(fā)活動(dòng),這些處理和電路模擬可以從筆記本電腦擴(kuò)展到分布式多節(jié)點(diǎn)、多 GPU 架構(gòu)。

auto ghz = [](const int N) __qpu__ {
  qoda::qreg q(N);
  h(q[0]);
  for (auto i : qoda::irange(N-1)) {
    cnot(q[i], q[i+1]);
  }
  mz(q);
};

// Sample a GHZ state on 30 qubits
auto counts = qoda::sample(ghz, 30);
counts.dump();

如代碼示例所示, QODA 提供了一種類似 CUDA 的基于內(nèi)核的編程方法,以現(xiàn)代 C ++為中心。您可以將量子設(shè)備代碼定義為獨(dú)立的函數(shù)對(duì)象或帶有 _uqpu_uu 注釋的 lambda ,以指示將編譯到量子設(shè)備并在其上執(zhí)行。

通過依賴自由函數(shù)上的函數(shù)對(duì)象( ZCK0 內(nèi)核方法),您可以實(shí)現(xiàn)一種高效的方法來構(gòu)建通用標(biāo)準(zhǔn)量子庫函數(shù),該函數(shù)可以將任何量子內(nèi)核表達(dá)式作為輸入。

這方面的一個(gè)簡單示例是標(biāo)準(zhǔn)采樣 QODA 函數(shù)(qoda::sample(。..)),它將量子內(nèi)核實(shí)例和任何具體參數(shù)作為輸入,并將觀察到的量子比特測量位字符串的熟悉映射返回到相應(yīng)的觀察次數(shù)。

QODA 內(nèi)核程序員可以訪問與量子計(jì)算相關(guān)的某些內(nèi)置類型(qoda::qubit、qoda::qreg、qoda::spin_op等)、量子門操作以及從 C ++繼承的所有傳統(tǒng)經(jīng)典控制流。

前面詳細(xì)介紹的語言編譯方法的一個(gè)有趣方面是能夠編譯包含 CUDA 內(nèi)核、 OpenMP 和 OpenACC pragmas 以及更高級(jí)別的 CUDA 庫 API 調(diào)用的 QODA 代碼。此功能將使混合量子經(jīng)典應(yīng)用程序開發(fā)人員能夠真正利用多 GPU 處理與量子計(jì)算。

未來的量子計(jì)算用例將需要經(jīng)典的并行處理,例如數(shù)據(jù)預(yù)處理和后處理、標(biāo)準(zhǔn)量子編譯任務(wù)和量子糾錯(cuò)的綜合征解碼。

量子經(jīng)典應(yīng)用的早期展望

針對(duì)噪聲、短期量子計(jì)算架構(gòu)的典型混合量子經(jīng)典算法是變分量子特征解算器( VQE )。矢量量化方程的目標(biāo)是根據(jù)量子力學(xué)的變分原理,計(jì)算給定量子力學(xué)算子(如哈密頓量)相對(duì)于參數(shù)化狀態(tài)制備電路的最小特征值。

為給定的一組柵極旋轉(zhuǎn)參數(shù)執(zhí)行狀態(tài)準(zhǔn)備電路,并執(zhí)行一組由量子力學(xué)算子的結(jié)構(gòu)決定的測量,以計(jì)算這些具體參數(shù)的期望值。然后使用用戶指定的經(jīng)典優(yōu)化器通過改變這些參數(shù)來迭代搜索最小期望值。

您可以在 QODA 編程模型中看到類似 VQE 的通用算法的樣子:

// Define your state prep ansatz…
auto ansatz = [](std::vector thetas) __qpu__ {
  … Use C++ control flow and quantum intrinsic ops …
};

// Define the Hamiltonian
qoda::spin_op H = … use x, y, z to build up Hamiltonian … ;

// Create a specific function optimization strategy
int n_params = …;
qoda::nlopt::lbfgs optimizer;
optimizer.initial_parameters = qoda::random_vector(-1, 1, n_params);

// Run the VQE algorithm with QODA
auto [opt_val, opt_params] =
    qoda::vqe(ansatz, H, optimizer, n_params);
printf("Optimal  = %lf\n", opt_val);

所需的主要組件是參數(shù)化的 ansatz-QODA 內(nèi)核表達(dá)式,在代碼示例中顯示為采用std::vector《double》的 lambda 。

這個(gè) lambda 的實(shí)際主體取決于當(dāng)前的問題,但您可以自由地使用標(biāo)準(zhǔn) C ++控制流、作用域內(nèi)量子內(nèi)核調(diào)用和量子內(nèi)在操作的邏輯集來構(gòu)建這個(gè)函數(shù)。

下一個(gè)需要的組件是您需要計(jì)算其期望值的運(yùn)算符。 QODA 將它們表示為內(nèi)置的spin_op類型,您可以通過 Pauli x(int)、y(int)和z(int)函數(shù)調(diào)用以編程方式構(gòu)建它們。

接下來,您需要一個(gè)經(jīng)典的函數(shù)優(yōu)化器,這是 QODA 語言規(guī)范中的一個(gè)一般概念,用于將子類化為特定的優(yōu)化策略,基于梯度或無梯度。

最后,該語言公開了用于調(diào)用整個(gè) VQE 工作流的標(biāo)準(zhǔn)庫函數(shù)。它在 QODA 內(nèi)核實(shí)例上參數(shù)化,該實(shí)例建模狀態(tài)準(zhǔn)備 ansatz ,該運(yùn)算符需要以下值:

最小特征值

經(jīng)典優(yōu)化實(shí)例

變分參數(shù)的總數(shù)

然后返回一個(gè)結(jié)構(gòu)化綁定,該綁定對(duì)狀態(tài)準(zhǔn)備電路的最優(yōu)特征值和相應(yīng)的最優(yōu)參數(shù)進(jìn)行編碼。

前面的工作流非常通用,有助于開發(fā)變分算法,這些算法最終在量子核表達(dá)式、感興趣的自旋算子和經(jīng)典優(yōu)化例程方面是通用的。

但它也展示了 QODA 編程模型的基本原理:提供描述量子代碼表達(dá)式的核心概念,然后促進(jìn)通用函數(shù)標(biāo)準(zhǔn)庫的實(shí)用性,從而實(shí)現(xiàn)混合量子經(jīng)典算法的可組合性。

QODA 早期興趣計(jì)劃

量子計(jì)算機(jī)有望幫助我們解決一些最重要的問題。我們正在向高性能計(jì)算和人工智能已經(jīng)發(fā)揮關(guān)鍵作用的領(lǐng)域的科學(xué)家和專家開放量子計(jì)算,并實(shí)現(xiàn)當(dāng)今最好的現(xiàn)有軟件與量子軟件的輕松集成。這將大大加速量子計(jì)算機(jī)實(shí)現(xiàn)其潛力。

關(guān)于作者

Alex McCaskey 是 NVIDIA 的高級(jí)量子計(jì)算軟件架構(gòu)師。他的工作重點(diǎn)是異構(gòu)量子經(jīng)典計(jì)算的編程模型、編譯器和語言。在過去,他領(lǐng)導(dǎo)了許多開源量子軟件項(xiàng)目,包括 XACC 系統(tǒng)級(jí)量子框架和 QCOR 量子經(jīng)典 C ++編譯器平臺(tái)。他于 2010 年獲得田納西大學(xué)物理學(xué)和數(shù)學(xué)學(xué)士學(xué)位,并于 2014 年獲得弗吉尼亞理工大學(xué)和州立大學(xué)物理學(xué)碩士學(xué)位。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10776

    瀏覽量

    210472
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4817

    瀏覽量

    102641
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4635

    瀏覽量

    128456
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【《計(jì)算》閱讀體驗(yàn)】量子計(jì)算

    經(jīng)典計(jì)算機(jī)的能力。 量子計(jì)算的重要性在于三點(diǎn)。首先,量子計(jì)算對(duì)強(qiáng)丘奇-圖靈論題提出了明確挑戰(zhàn)。強(qiáng)
    發(fā)表于 07-13 22:15

    QPU與GPU,經(jīng)典超算和量子計(jì)算的協(xié)同

    電子發(fā)燒友網(wǎng)報(bào)道(文/李寧遠(yuǎn))不久前在國際超算大會(huì)ISC上, NVIDIA宣布將通過開源的 NVIDIA CUDA-Q量子計(jì)算平臺(tái),助力全球各地的國家級(jí)超算中心加快量子
    的頭像 發(fā)表于 05-21 01:35 ?2338次閱讀

    英偉達(dá)CUDA-Q平臺(tái)推動(dòng)全球量子計(jì)算研究

    經(jīng)典超算的深度整合。該平臺(tái)的重要特性在于其支持量子計(jì)算與AI人工智能的完美結(jié)合,為解決量子比特噪聲問題提供了新思路,并有助于開發(fā)出更加高效
    的頭像 發(fā)表于 05-14 11:45 ?581次閱讀

    NVIDIA通過CUDA-Q平臺(tái)為全球各地的量子計(jì)算中心提供加速

    德國、日本和波蘭的超級(jí)計(jì)算機(jī)利用 Grace-Hopper 和量子-經(jīng)典加速超算平臺(tái)推進(jìn)量子計(jì)算
    的頭像 發(fā)表于 05-14 09:15 ?289次閱讀

    NVIDIA 通過 CUDA-Q 平臺(tái)為全球各地的量子計(jì)算中心提供加速

    德國、日本和波蘭的超級(jí)計(jì)算機(jī)利用 Grace-Hopper 和量子-經(jīng)典加速超算平臺(tái)推進(jìn)量子計(jì)算
    發(fā)表于 05-13 15:21 ?162次閱讀
    NVIDIA 通過 CUDA-Q <b class='flag-5'>平臺(tái)</b>為全球各地的<b class='flag-5'>量子</b><b class='flag-5'>計(jì)算</b>中心提供加速

    英偉達(dá)幫助日本建造混合量子超級(jí)計(jì)算機(jī)

    英偉達(dá)正在幫助日本建造混合量子超級(jí)計(jì)算機(jī),這是日本國家量子計(jì)算計(jì)劃的一部分。
    的頭像 發(fā)表于 04-23 14:54 ?467次閱讀

    量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】 跟我一起漫步量子計(jì)算

    首先感謝發(fā)燒友提供的試讀機(jī)會(huì)。 略讀一周,感觸頗深。首先量子計(jì)算機(jī)作為一種前沿技術(shù),正逐步展現(xiàn)出其巨大的潛力,預(yù)示著未來社會(huì)和技術(shù)領(lǐng)域的深刻變革。下面,我將從幾個(gè)方面探討量子計(jì)算機(jī)如
    發(fā)表于 03-13 19:28

    量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】+ 了解量子疊加原理

    作為零基礎(chǔ)初學(xué)級(jí)的量子小白,對(duì)神秘詭異的量子世界充滿了好奇。說起量子計(jì)算機(jī),我有許多問號(hào),量子計(jì)算
    發(fā)表于 03-13 17:19

    量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】+量子計(jì)算機(jī)的原理究竟是什么以及有哪些應(yīng)用

    本書內(nèi)容從目錄可以看出本書主要是兩部分內(nèi)容,一部分介紹量子計(jì)算機(jī)原理,一部分介紹其應(yīng)用。 其實(shí)個(gè)人也是抱著對(duì)這兩個(gè)問題的興趣來看的。 究竟什么是量子計(jì)算機(jī)相信很多讀者都是抱著
    發(fā)表于 03-11 12:50

    量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】+ 初識(shí)量子計(jì)算機(jī)

    欣喜收到《量子計(jì)算機(jī)——重構(gòu)未來》一書,感謝電子發(fā)燒友論壇提供了一個(gè)讓我了解量子計(jì)算機(jī)的機(jī)會(huì)! 自己對(duì)電子計(jì)算機(jī)有點(diǎn)了解,但對(duì)
    發(fā)表于 03-05 17:37

    量子計(jì)算機(jī) 未來希望

    自己從事語音識(shí)別產(chǎn)品設(shè)計(jì)開發(fā),而量子技術(shù)和量子計(jì)算機(jī)必將在自然語言處理方面實(shí)現(xiàn)重大突破,想通過此書學(xué)習(xí)量子計(jì)算技術(shù),儲(chǔ)備知識(shí),謝謝!
    發(fā)表于 02-01 12:51

    量子計(jì)算,未來已來

    量子計(jì)算,神奇神秘,多多學(xué)習(xí),與時(shí)俱進(jìn)!
    發(fā)表于 02-01 09:05

    量子計(jì)算機(jī)的作用有哪些

    認(rèn)為是未來計(jì)算機(jī)技術(shù)的重要發(fā)展方向。 一、量子計(jì)算機(jī)的基本概念 量子計(jì)算機(jī)的核心是量子比特,與
    的頭像 發(fā)表于 12-30 14:32 ?1687次閱讀

    首次商業(yè)交付!國儀量子離子阱量子計(jì)算平臺(tái)ION I

    IONI正式交付近日,國儀量子離子阱量子計(jì)算平臺(tái)IONI正式交付。該套交付設(shè)備由國儀量子與國內(nèi)某高校用戶圍繞科研場景需求,在系統(tǒng)的設(shè)計(jì)、制造
    的頭像 發(fā)表于 12-20 08:25 ?498次閱讀
    首次商業(yè)交付!國儀<b class='flag-5'>量子</b>離子阱<b class='flag-5'>量子</b><b class='flag-5'>計(jì)算</b><b class='flag-5'>平臺(tái)</b>ION I

    什么是后量子密碼學(xué)?量子計(jì)算機(jī)vs經(jīng)典計(jì)算機(jī)

    量子密碼學(xué)(Post-Quantum Cryptography,PQC)是在經(jīng)典計(jì)算機(jī)上定義和執(zhí)行算法,研究量子計(jì)算機(jī)和
    的頭像 發(fā)表于 12-19 11:42 ?1470次閱讀