精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

量子計算的下一步,該考慮軟件基礎設施了!

責任編輯:editor007

作者:陳毅東

2017-09-22 22:19:51

摘自:it168網站

在過去十年中,在開發實際的QPU硬件方面取得了巨大進步,IBM發布了一個具有用于用戶訪問的16位量子位QPU門戶。最后,XACC IR實例(以及編程的內核)由Accelerator概念的實現來執行,該概念定義了用于注入物理或虛擬量子加速器的接口。

在過去十年中,在開發實際的QPU硬件方面取得了巨大進步,IBM發布了一個具有用于用戶訪問的16位量子位QPU門戶。Rigetti公司正在開發8-量子位QPU方面取得了相當的進展。D-Wave已經生產了一個2048量子位量子耦合器。Google正在開發一個將于2017年底,或2018年初發布的49位量子位QPU。中國的量子計算機和量子通信在全球也不遑多讓!但量子計算在硬件成熟之后,該如何發展,其發展軟肋在哪?所以有了所有這些偉大的硬件選擇之后,現在的真正問題就是,我們如何提供一個高級軟件基礎設施,這樣的基礎設施必然會加快研究工作,這將有利于現有應用程序工作流程中的量子加速。

Eclipse XACC是一種開源的混合編程模型和參考實現,稱為eXtreme-scale的加速(Accelerator)編程框架,簡稱為XACC。在這篇文章中,介紹量子計算,以及如何開發智能高級軟件基礎設施,以便在計算硬件方面實現跨越式發展。

關于量子計算

科學計算和數據挖掘是幫助我們更好地了解自然并開發解決能源,健康,物流和金融方面的新問題的重要工具。突出的例子包括計算化學模擬,以調查新的藥物;以及遠程模型來預測全球氣候變化。這些問題和其他類似的問題只能用大規模高性能計算(HPC)資源來解決。計算架構的持續進步支持這些大規模科學計算和數據挖掘任務,HPC系統設計的最新趨勢主要集中在將許多CPU內核與其他專用加速器相結合的異構架構上。例如,橡樹嶺國家實驗室的Titan超級計算機依賴于許多GPU來實現高性能數值計算。

量子計算的下一步


可擴展,模塊化和開源軟件在應用程序開發人員可訪問異構HPC系統方面發揮重要作用。高級編程模型,軟件系統和應用程序編程接口(API)對于使用這些大規模科學設備是必要的,這些科學設備不斷推動科學計算范圍。各國正推動開發運行在超級計算機(即每秒可執行十億次操作的機器)的高性能計算機系統(HPC),還要考慮到異構HPC體系結構需要超越超級計算。世界各地的一些研究工作正在開始展示可能有助于加速后期計算世界的新型計算架構。最重要的努力是量子計算和利用量子力學和量子信息的非直觀規律來執行計算的想法。

量子計算與常規計算根本的不同之處在于,它們考慮到二進制單位(位)0和1的運算,量子計算機以量子位——具有給定概率的兩個不同狀態之一的物理系統進行操作。電子的旋轉(向上或向下)或光子的偏振(水平或垂直極化)可以用作量子位;盡管目前的現有量子位系統由超導,原子或光學設置組成。在圖形上,量子位的狀態可以如圖1所示,其中你有一個向量可以指向半徑為1的球體上的任何位置。

量子計算的下一步


量子計算的力量來自于位向量子位的泛化。傳統的計算被約束到位串的空間,并且計算是從將位串映射到位串的布爾基元構建的。

然而,量子邏輯運算是將量子態旋轉的單一矩陣(在圖1中)(在指數式的大向量空間內)。量子空間的快速(和不同)增長的另一個后果是量子糾纏的存在,或是不可分離的狀態。這意味著狀態不能表示為單個量子位的狀態。這與二進制邏輯狀態有很大不同,其中寄存器由獨立位的集合組成。通過利用上述量子資源,在多項式時間內進行量子計算,如整數分解的Shor算法和量子物理的模擬。

那么現在我們如何利用這個優勢,而不用等待一個通用的獨立量子計算機呢?答案是加速具有小規模量子計算機的HPC系統。增加量子資源的HPC系統可能開始幫助我們解決其他棘手的問題。在這方面,我們可以處理與GPU類似的量子處理單元(QPU)——作為現有科學應用的加速單元。

在過去十年中,在開發實際的QPU硬件方面取得了巨大進步,該硬件具有一定的算法巧妙性,可以在混合計算環境中利用。IBM已經(并公開發布)一個具有用于用戶訪問的16位量子位QPU門戶。Rigetti公司正在開發8-量子位QPU方面取得了相當的進展,D-Wave已經生產了一個2048量子位量子耦合器,Google正在開發一個將于2017年底,或2018年初發布的49位量子位QPU。中國的量子計算機和量子通信在全球也不遑多讓!

有了所有這些偉大的硬件選擇之后,現在的真正問題就是,我們如何提供一個高級軟件基礎設施,明智地將選擇的計算任務分配到附加的量子加速器?這樣的基礎設施必然會加快研究工作,這將有利于現有應用程序工作流程中的量子加速。

Eclipse基金會,ORNL和XACC

橡樹嶺國家實驗室已經開始調查用量子加速來增強HPC系統的意義,并提出了一個開源的混合編程模型和參考實現,稱為eXtreme-scale的加速器編程框架Eclipse XACC。好消息是,XACC現在是一個完全成熟的Eclipse項目,是Eclipse Science工作組不斷努力推動開源軟件和圍繞量子計算的社區開發的第一個項目,這是量子計算軟件早期歷史的一個令人興奮的發展!

XACC專門設計用于在現有的高性能計算應用程序和工作流程中實現量子加速。該編程模型和相關的開源參考實現遵循傳統的協處理器模型,類似OpenCL或CUDA的GPU,但考慮到常規和量子硬件之間相互作用固有的細微之處和復雜性。

XACC提供了一種高級API,使軟件應用程序以量子編程語言和量子硬件不可知的方式將量子代碼(以量子核表示)附加到附加的量子加速器。圖2以圖形方式顯示 - 該框架允許以任何可用語言編程量子內核,并在任何可用的硬件后端執行該代碼。這使得一個人能夠編寫一次量子代碼,并對一組虛擬(模擬器)或物理硬件執行基準測試,驗證和驗證以及性能研究。

為了實現這種互操作性,XACC定義了四個主要的抽象或概念:量子內核,中間表示,編譯器和加速器。量子內核是包含用于在QPU上執行的代碼的類C函數。這些內核被編譯為XACC中間表示(IR),這是一種對促進集成多種語言和硬件至關重要的對象模型。IR提供了由算法程序員使用的四種主要形式:(1)內存中表示和API,(2)磁盤上持久性表示,(3)人類可讀量子組件表示,以及(4)控制流圖形或量子電路表示。該IR由XACC編譯器接口的實現產生,該接口委托內核語言適當的解析器,編譯器和優化器。

最后,XACC IR實例(以及編程的內核)由Accelerator概念的實現來執行,該概念定義了用于注入物理或虛擬量子加速器的接口。加速器將此IR作為輸入,并將執行委托給供應商提供的用于QPU(或模擬器的API)的API。

量子計算的下一步


這些概念的編排使得能夠實現科學應用的量子加速的表達式API。圖3演示了一個簡單的量子位狀態傳送示例的API。Teleport內核(teleport.hpp)以Scaffold量子編程語言編寫,并使用XACC API工作流程(teleport.cpp)進行編譯和執行 - (1)初始化框架(加載所有可用的編譯器,加速器等) ),(2)參考所需的加速器,(3)創建一個量子位寄存器,(4)構造一個編排量子內核編譯的程序實例,(5)獲取可執行的內核函數或lambda表示編譯的內核代碼并在附加的加速器上執行它。

XACC支持多種語言和物理和虛擬硬件實例。 XACC提供了一種編譯器實現,可以實現C類Scaffold編程語言中的量子內核編程。該編譯器利用Clang / LLVM庫擴展,通過量子門操作來擴展LLVM IR。 XACC擴展了該編譯器,支持新的構造,如自定義量子函數和源到源翻譯(將Scaffold映射到其他語言)。

XACC提供了一種加速器實現,可以以Rigetti Quantum Virtual Machine(QVM,Forest API)和物理雙量子位Rigetti QPU的任何可用語言執行量子內核。這些加速器將XACC IR映射到Quil(Rigetti低級匯編語言),并利用HTTP Rest客戶端將編譯的量子內核代碼發布到Rigetti QVM / QPU驅動程序服務器。 XACC還支持D-Wave QPU,其展示了跨量子計算模型(絕熱/量子耦合和門模型量子計算)的這種異構混合編程模型的廣泛適用性。 XACC具有編譯器和加速器實現功能,可以分別在D-Wave Qubist QPU驅動程序服務器上分別執行二進制優化問題和執行的小圖形嵌入。

XACC提供基礎級API,允許計算科學家以熟悉的加速計算模型方式利用量子計算。它為更高級別的數據結構奠定了基礎,這些數據結構為訪問常見的量子算法提供了一種易于使用的機制。它的核心是開始提供可擴展的軟件基礎設施,可以作為所有偉大的語言和硬件實現之間的粘合劑,用于量子計算。展望未來,該項目旨在提供一種熟練的機制,以量子加速增強HPC應用,并提供一種機制,用于對后期計算技術進行編程。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 迁安市| 大方县| 屏东县| 孙吴县| 略阳县| 东辽县| 集安市| 寿阳县| 娱乐| 榆林市| 宁海县| 景东| 赣州市| 城市| 太康县| 曲松县| 连云港市| 南充市| 大城县| 井冈山市| 巴青县| 肥乡县| 新绛县| 利辛县| 绩溪县| 白城市| 灌南县| 盘锦市| 交城县| 新余市| 额尔古纳市| 呼图壁县| 甘肃省| 云林县| 石泉县| 延吉市| 华阴市| 正宁县| 五寨县| 满城县| 柯坪县|