在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

NVIDIA cuTensorNet為張量網絡計算提供方案

星星科技指導員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-04-08 14:55 ? 次閱讀

量子計算渴望在更快的時間內為目前無法用經典計算解決的問題提供更強大的計算能力。 NVIDIA 最近發布了 cuQuantum SDK ,這是一個用于加速量子信息科學發展的高性能庫。 cuQuantum 最近被用于 打破在 DGX SuperPOD 上運行 MaxCut 量子算法模擬的世界紀錄 ,比以前的工作多了 8 倍的量子位。

cuQuantum 的初始目標應用程序是 量子電路模擬, 的加速,它由兩個主要庫組成:

cuStateVec :加速狀態向量模擬。

cuTensorNet :加速張量網絡模擬。

在本文中,我們將對這兩個庫進行概述,并對 cuTensorNet 進行更詳細的討論。

為什么要使用 cuStateVec ?

cuQuantum SDK 中的 cuStateVec 庫通過針對模擬器中出現的大多數用例優化 GPU 內核,為基于狀態向量的模擬提供了高性能解決方案。雖然狀態向量法非常適合運行深度量子電路,但即使在當今最大的超級計算機上,也不可能對具有大量量子比特的量子電路進行模擬,這些量子比特呈指數增長。

為什么要使用 cuTensorNet ?

作為替代方案,張量網絡方法是一種將 N 量子位的量子態表示為一系列張量收縮的技術。這使得量子電路模擬器能夠通過交換算法與計算所需的空間來處理具有許多量子位的電路。根據電路拓撲和深度的不同,這也可能會變得非常昂貴。然后,主要的挑戰是有效地計算這些張量收縮。

量子計算渴望在更快的時間內為目前無法用經典計算解決的問題提供更強大的計算能力。 NVIDIA 最近發布了 cuQuantum SDK ,這是一個用于加速量子信息科學發展的高性能庫。 cuQuantum 最近被用于 打破在 DGX SuperPOD 上運行 MaxCut 量子算法模擬的世界紀錄 ,比以前的工作多了 8 倍的量子位。

cuQuantum 的初始目標應用程序是 量子電路模擬, 的加速,它由兩個主要庫組成:

cuStateVec :加速狀態向量模擬。

cuTensorNet :加速張量網絡模擬。

在本文中,我們將對這兩個庫進行概述,并對 cuTensorNet 進行更詳細的討論。

為什么要使用 cuStateVec ?

cuQuantum SDK 中的 cuStateVec 庫通過針對模擬器中出現的大多數用例優化 GPU 內核,為基于狀態向量的模擬提供了高性能解決方案。雖然狀態向量法非常適合運行深度量子電路,但即使在當今最大的超級計算機上,也不可能對具有大量量子比特的量子電路進行模擬,這些量子比特呈指數增長。

為什么要使用 cuTensorNet ?

作為替代方案,張量網絡方法是一種將 N 量子位的量子態表示為一系列張量收縮的技術。這使得量子電路模擬器能夠通過交換算法與計算所需的空間來處理具有許多量子位的電路。根據電路拓撲和深度的不同,這也可能會變得非常昂貴。然后,主要的挑戰是有效地計算這些張量收縮。

cuQuantum SDK 中的 cuTensorNet 庫為這些類型的張量網絡計算提供了高性能解決方案。

cuTensorNet 庫提供 C 和 Python API ,以提供對高性能張量網絡計算的訪問,從而加速量子電路模擬。這些 API 非常靈活,使您能夠控制、探索和研究實現的每一種算法技術。

cuTensorNet 算法描述

在本節中,我們將討論 cuTensorNet 中使用的不同算法和技術。它包括兩個主要組件: pathfinder 和 execution 。

pathfinder 在短時間內提供了一條成本最低的最佳收縮路徑,執行步驟使用高效內核在 GPU 上計算該路徑。這兩個組件相互獨立,可以與提供類似功能的任何其他外部庫進行互操作。

探路者

在高層, cuTensorNet 采用的方法是圍繞基于圖形分區的探路者進行超優化。有關更多信息,請參閱 超優化張量網絡收縮 。

探路者的作用是找到一條收縮路徑,使收縮張量網絡的成本最小化。為了加快這一步,我們開發了許多算法改進和優化,而且這一步還會更快。

尋找最優收縮路徑在很大程度上取決于網絡的大小。網絡越大,尋找最優收縮路徑所需的技術和計算量就越大。

cuTensorNet pathfinder 由三個算法模塊組成。

Simplification :對張量網絡進行預處理以找到所有明顯的直接收縮集的技術。它將它們從網絡中移除,并用其最終張量替換每個集合。其結果是更小的網絡,更容易在以下模塊中處理。

Path computation :探路者組件的核心。它基于一個圖分區步驟,然后是使用重新配置調整和切片技術的第二個步驟。遞歸地調用圖分區來分割網絡并形成收縮路徑(例如,成對收縮樹)。

Hyper-optimizer: 路徑計算模塊上的一個循環,在每次迭代中形成一條收縮路徑。對于每次迭代,超級優化器都會為路徑計算創建不同的參數配置,同時跟蹤找到的最佳路徑。您可以隨意更改或修復這些配置參數。所有配置參數都可以通過cutensornetContractionOptimizerConfigSetAttribute設置。有關更多信息,請參閱 cuTensorNet documentation 。

從第一步生成的路徑可能不接近最優,因此通常會執行重構調整。重構在整體收縮樹中選擇幾個小的子樹,并試圖提高它們的收縮成本,如果可能的話,降低總體成本。

路徑計算模塊的另一個特點是切片技術。切片的主要目標是將網絡收縮過程放入可用的設備內存中。切片通過排除某些張量模式并顯式展開它們的范圍來實現這一點。這將生成許多類似的收縮樹,或 slices ,其中每一個對應于排除模式之一。

收縮路徑或樹不會改變。在這種情況下,只有一些模式被排除在外,每個切片的計算獨立于其他模式。因此,切片可以被認為是為不同設備創建獨立工作的最佳技術之一。

實踐經驗表明,找到最佳收縮路徑對這里使用的每種技術的配置參數的選擇都很敏感。為了提高找到最佳收縮路徑的概率,我們將該模塊封裝在一個超級優化器中。

尋路性能

在考慮探路者的性能時,有兩個相關的指標:找到的路徑的質量和找到該路徑所需的時間。前者如圖 3 所示,以失敗導致的收縮成本來衡量。用于基準測試的電路是谷歌量子人工智能 2019 年量子優勢論文 的隨機量子電路,深度為 12 、 14 和 20 。

與 opt_einsum 庫相比, cuTensorNet 在尋找最佳路徑方面表現良好,在這些電路方面略優于 Cotengra 。

cuTensorNet 也能快速找到高質量的路徑。對于不同深度的懸鈴木量子電路問題,圖 4 繪制了 cuTensorNet 與科滕格拉相比的收縮所需時間。對于網絡中有 3000 多個張量的最復雜問題, cuTensorNet 仍能在 40 秒內找到最佳路徑。

處決

執行組件依賴 cuTENSOR 庫作為后端,以便在 GPU 上高效執行。它包括以下幾個階段:

Planning :執行組件的決策引擎。它分析收縮路徑,決定使用最小工作空間在 GPU 上執行它的最佳方式。它還決定了每個成對收縮使用的最佳內核。

Computation :此階段使用 cuTENSOR 庫計算所有成對收縮。

Autotuning :(可選)基于不同啟發式的不同內核嘗試成對收縮,并選擇最佳內核。

執行性能

圖 5 測量了 cuTensorNet 與 CuPy 在幾個不同電路中收縮執行的加速比。根據賽道的不同, cuTensorNet 提供了約 8-20 倍的收縮執行加速。

cuTensorNet 示例

cuTensorNet 提供了 C 和 Python API ,允許您高效地計算張量網絡收縮,而無需任何關于如何找到最佳收縮路徑或如何在 GPU 上執行收縮的專業知識。

高級 Python API

cuTensorNet 提供高級 Python API ,可與 NumPy 和 PyTorch 張量互操作。例如,張量網絡的einsum表達式可以在對contract的單個函數調用中使用。 cuTensorNet 執行所有必需的步驟,結果返回約定的網絡。

import cupy as cp
import cuquantum # Compute D_{m,x,n,y} = A_{m,h,k,n} B_{u,k,h} C_{x,u,y} # Create an array of extents (shapes) for each tensor extentA = (96, 64, 64, 96) extentB = (96, 64, 64) extentC = (64, 96, 64) extentD = (96, 64, 96, 64) # Generate input tensor data directly on GPU A_d = cp.random.random(extentA, dtype=cp.float32) B_d = cp.random.random(extentB, dtype=cp.float32) C_d = cp.random.random(extentC, dtype=cp.float32) # Set the pathfinder options options = cuquantum.OptimizerOptions() options.slicing.disable_slicing = 1 # disable slicing options.samples = 100 # number of hyper-optimizer samples # Run the contraction on a CUDA stream stream = cp.cuda.Stream() D_d, info = cuquantum.contract( 'mhkn,ukh,xuy->mxny', A_d, B_d, C_d, optimize=options, stream=stream, return_info=True) stream.synchronize() # Check the optimizer info print(f"{info[1].opt_cost/1e9} GFLOPS") 

從這個代碼示例中,您可以看到所有 cuTensorNet 操作都封裝在一個contract API 中。本例的輸出為 14.495514624 GFLOPS :基于路徑查找器找到的收縮路徑估計的浮點操作數。要手動執行相同的步驟,還可以使用 cuQuantum.Network object 。

低級 API

如前所述, C 和 Python API 是以一種直觀的表達方式設計的。您可以調用 pathfinder 函數以獲得優化的路徑,然后調用以使用該路徑在 GPU 上執行收縮。

對于高級用戶, cuTensorNet library API 旨在授予訪問該領域研究可用的所有算法選項的權限。例如,您可以控制 pathfinder 可以嘗試找到最佳收縮路徑的 hyper optimizer 樣本數。

有幾十個參數可以修改或控制。這些都可以通過 helper 函數訪問,并允許簡單功能 API 保持不變。你也可以提供自己的路徑。有關較低級別選項的更多信息以及如何使用它們的示例,請參閱 cuquantum.Network 。

總結

NVIDIA CuQuin SDK 的 CursSnReNET 庫旨在加速 GPU 上的張量網絡計算。在這篇文章中,我們展示了最先進的張量網絡庫對關鍵量子算法的加速。

在改進 cuTensorNet 并通過新的算法改進和多節點、多 GPU 執行來擴展它方面有著廣泛的發展。

cuTensorNet 圖書館的目標是為量子計算領域的突破性發展提供一個有用的工具。有沒有關于如何改進 cuQuantum 庫的反饋和建議?

關于作者

Azzam Haidar 是 NVIDIA 開發 HPC 和量子計算軟件的高級工程師。 2008 年,他在圖盧茲國立理工學院和法國 CERFACS 實驗室獲得計算機科學和應用數學博士學位。在加入 Nvidia 之前,他是諾克斯維爾田納西大學創新計算實驗室的研究主任。

Leo Fang 是NVIDIA 的高級工程師,專注于 HPC 、量子計算和 Python 軟件。 2017 年,他在杜克大學獲得物理學博士學位。在加入 NVIDIA 之前,他是布魯克海文國家實驗室計算科學倡議的助理計算科學家。他也是許多開源項目的定期貢獻者,包括 CuPy 、 mpi4py 、 conda forge 和 Python 數據 API 標準聯盟。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5026

    瀏覽量

    103284
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4754

    瀏覽量

    129084
  • API
    API
    +關注

    關注

    2

    文章

    1505

    瀏覽量

    62187
收藏 人收藏

    評論

    相關推薦

    聯發科與NVIDIA合作 NVIDIA 個人AI超級計算機設計NVIDIA GB10超級芯片

    ,各類采用Arm架構SoC的設備提供卓越的AI、通信、多媒體與高能效用戶體驗。聯發科將豐富的專業技術帶入此次與NVIDIA的合作中,以共同打造業界先進的平臺。 聯發科副董事
    的頭像 發表于 01-07 16:26 ?114次閱讀

    RK3568國產處理器 + TensorFlow框架的張量創建實驗案例分享

    張量,即標量 2、一 維張量 3、二維張量 4、多維張量 在 tensorflow 中張量可以被簡單的理解
    發表于 12-03 14:43

    Supermicro推出直接液冷優化的NVIDIA Blackwell解決方案

    【2024年11月22日,加州圣何塞、佐治亞州亞特蘭大及超級計算大會訊】Supermicro, Inc. (NASDAQ:SMCI) AI、云端、存儲和5G/邊緣領域的全方位IT解決方案提供
    發表于 11-25 10:39 ?424次閱讀
    Supermicro推出直接液冷優化的<b class='flag-5'>NVIDIA</b> Blackwell解決<b class='flag-5'>方案</b>

    NVIDIA加速計算如何推動醫療健康

    近日,NVIDIA 企業平臺副總裁 Bob Pette 在 AI Summit 一場演講中重點談論了 NVIDIA 加速計算如何推動醫療健康、網絡安全和制造等行業實現轉型。他表示,加速
    的頭像 發表于 11-20 09:10 ?313次閱讀

    NVIDIA SuperNIC推進現代AI基礎設施發展

    在生成式 AI 時代,加速網絡對于大規模分布式 AI 工作負載構建高性能計算平臺至關重要。NVIDIA 在加速網絡領域繼續保持領先地位,
    的頭像 發表于 11-06 13:59 ?262次閱讀

    NVIDIA助力xAI打造全球最大AI超級計算

    NVIDIA 宣布,xAI 位于田納西州孟菲斯市的Colossus 超級計算機集群達到了 10 萬顆 NVIDIA Hopper GPU 的巨大規模。該集群使用了NVIDIA Spe
    的頭像 發表于 10-30 11:38 ?397次閱讀

    NVIDIA Colossus超級計算機集群突破10萬顆Hopper GPU

    的強大實力。 Colossus集群不僅規模龐大,更采用了NVIDIA Spectrum-X以太網網絡平臺。該平臺專為多租戶、超大規模的AI工廠打造,提供了卓越的RDMA(遠程直接內存訪問)網絡
    的頭像 發表于 10-30 10:29 ?312次閱讀

    NVIDIA 以太網加速 xAI 構建的全球最大 AI 超級計算

    市的 Colossus 超級計算機集群達到了 10 萬顆 NVIDIA? Hopper? GPU 的巨大規模。該集群使用了 NVIDIA Spectrum-X? 以太網網絡平臺,該平臺
    發表于 10-30 09:33 ?166次閱讀
    <b class='flag-5'>NVIDIA</b> 以太網加速 xAI 構建的全球最大 AI 超級<b class='flag-5'>計算</b>機

    簡單認識NVIDIA網絡平臺

    NVIDIA Spectrum-X800 平臺是業界第一代 800Gb/s 的以太網網絡平臺,包括了 NVIDIA Spectrum SN5600 800Gb/s 以太網交換機和 NVIDIA
    的頭像 發表于 09-09 09:22 ?458次閱讀

    NVIDIA 通過 Holoscan NVIDIA IGX 提供企業軟件支持

    Enterprise-IGX軟件現已在NVIDIA IGX平臺上正式可用,以滿足工業邊緣對實時 AI 計算日益增長的需求。它們將共同幫助醫療、工業和科學計算領域的解決方案
    的頭像 發表于 06-04 10:21 ?527次閱讀

    NVIDIA 通過 Holoscan NVIDIA IGX 提供企業軟件支持,實現邊緣實時醫療、工業和科學 AI 應用

    醫療、工業和科學計算領域的解決方案提供商利用企業級軟件和支持來加快開發和部署邊緣 AI 解決方案。 ? NVIDIA AI Enterpri
    發表于 06-03 09:48 ?320次閱讀
      <b class='flag-5'>NVIDIA</b> 通過 Holoscan <b class='flag-5'>為</b> <b class='flag-5'>NVIDIA</b> IGX <b class='flag-5'>提供</b>企業軟件支持,實現邊緣實時醫療、工業和科學 AI 應用

    Nvidia Jetson Nano + CYW55573/AWXB327MA-PUR M.2無法使用操作系統內置的網絡管理器管理Wi-Fi如何解決?

    我們使用的是 Nvidia Jetson Nano + CYW55573/AWXB327MA-PUR M.2 ,請參閱 Nvidia Jetson 與英飛凌 AIROC Wi-Fi 6
    發表于 05-23 06:47

    微軟將采用AMD AI芯片以替代英偉達,計算提供更優解決方案

    微軟將大規模采用AMD的旗艦產品MI300X,并通過Azure云計算平臺向用戶提供計算集群服務。鑒于Nvidia的H100和H200芯片供應緊張,微軟決定
    的頭像 發表于 05-17 16:38 ?816次閱讀

    進一步解讀英偉達 Blackwell 架構、NVlink及GB200 超級芯片

    百億億次計算和萬億參數模型提供基礎 NVIDIA推出世界首個高速GPU互連技術NVLink?,提供的速度遠超基于PCIe的解決方案,是多GP
    發表于 05-13 17:16

    NVIDIA 通過 CUDA-Q 平臺全球各地的量子計算中心提供加速

    —— NVIDIA 于今日宣布將通過開源的 NVIDIA CUDA-Q? 量子計算平臺,助力全球各地的國家級超算中心加快量子計算的研究發展。 ? 德國、日本和波蘭的超算中心將使用該平
    發表于 05-13 15:21 ?208次閱讀
    <b class='flag-5'>NVIDIA</b> 通過 CUDA-Q 平臺<b class='flag-5'>為</b>全球各地的量子<b class='flag-5'>計算</b>中心<b class='flag-5'>提供</b>加速
    主站蜘蛛池模板: 亚洲欧美经典| 天天干夜夜添| 性欧美高清强烈性视频| 欧美1819| 久久天天丁香婷婷中文字幕| 国产美女一区| 你懂的在线看| 色伊伊| 色老头久久久久久久久久| 99久久综合国产精品免费| 字幕网中文aⅴ资源站| 午夜伦理片免费观看在线| 正在播放羽月希与黑人bd在线| 在线观看色视频| 色人久久| 久久视频免费| 久久精品免费视频观看| 国产一区二区三区影院| 久久国产精品99久久久久久老狼| 国产精品手机在线| 天天色天天综合| 狠婷婷| 2021天天干| 3344a毛片在线看| 亚洲人成网i8禁止| 一区二区三区伦理高清| 日本天堂影院| 国语一级毛片私人影院| 午夜高清免费观看视频| 午夜视频在线免费看| 午夜黄色毛片| zzji国产精品视频| 欧美极品在线观看| 99久久成人国产精品免费| 日日噜噜噜夜夜爽爽狠狠视频| 激情综合站| 成人在线视频网址| 免费一级毛片在线播放不收费| 国产偷啪视频一区| 性夜影院爽黄e爽在线观看| 男男浪荡双性受hplay|