在线观看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

    文章

    5246

    瀏覽量

    105788
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4912

    瀏覽量

    130679
  • API
    API
    +關注

    關注

    2

    文章

    1563

    瀏覽量

    63553
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    NVIDIA將為每家AI工廠提供網絡安全

    NVIDIA DOCA Argus 框架可檢測 AI 工作負載中的威脅并對之做出響應,同時與企業安全系統無縫集成,從而提供實時洞察。
    的頭像 發表于 05-07 15:11 ?293次閱讀
    <b class='flag-5'>NVIDIA</b>將為每家AI工廠<b class='flag-5'>提供</b><b class='flag-5'>網絡</b>安全

    NVIDIA助力解決量子計算領域重大挑戰

    NVIDIA 加速量子研究中心提供了強大的工具,助力解決量子計算領域的重大挑戰。
    的頭像 發表于 03-27 09:17 ?475次閱讀

    NVIDIA GTC2025 亮點 NVIDIA推出 DGX Spark個人AI計算

    臺式超級計算機由 NVIDIA Grace Blackwell 驅動,開發者、研究人員和數據科學家提供加速 AI 功能;系統由頭部計算機制
    的頭像 發表于 03-20 18:59 ?794次閱讀
    <b class='flag-5'>NVIDIA</b> GTC2025 亮點  <b class='flag-5'>NVIDIA</b>推出 DGX Spark個人AI<b class='flag-5'>計算</b>機

    NVIDIA 宣布推出 DGX Spark 個人 AI 計算

    臺式超級計算機由 NVIDIA Grace Blackwell 驅動,開發者、研究人員和數據科學家提供加速 AI 功能;系統由頭部計算機制
    發表于 03-19 09:59 ?283次閱讀
       <b class='flag-5'>NVIDIA</b> 宣布推出 DGX Spark 個人 AI <b class='flag-5'>計算</b>機

    重磅發布 | 晶豐明源多相數字控制器和DrMOS,NVIDIA顯卡提供高性能供電解決方案

    BPD93204,搭配晶豐明源高可靠性 DrMOS BPD80350E使用,AI服務器、顯卡、筆記本電腦和高性能計算需求等應用提供了高效、靈活且可靠的電源系統管理解決方案。” ? 在
    發表于 02-18 15:06 ?935次閱讀
    重磅發布 | 晶豐明源多相數字控制器和DrMOS,<b class='flag-5'>為</b><b class='flag-5'>NVIDIA</b>顯卡<b class='flag-5'>提供</b>高性能供電解決<b class='flag-5'>方案</b>

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

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

    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 ?725次閱讀
    Supermicro推出直接液冷優化的<b class='flag-5'>NVIDIA</b> Blackwell解決<b class='flag-5'>方案</b>

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

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

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

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

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

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

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

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

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

    市的 Colossus 超級計算機集群達到了 10 萬顆 NVIDIA? Hopper? GPU 的巨大規模。該集群使用了 NVIDIA Spectrum-X? 以太網網絡平臺,該平臺
    發表于 10-30 09:33 ?297次閱讀
    <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 ?736次閱讀

    NVIDIA提供一套服務、模型以及計算平臺 加速人形機器人發展

    的發展,NVIDIA 于今日宣布,全球領先的機器人制造商、AI 模型開發者和軟件制造商提供一套服務、模型以及計算平臺,以開發、訓練和構建下一代人形機器人。 整套產品包括用于機器人仿真
    的頭像 發表于 07-31 10:41 ?1127次閱讀
    主站蜘蛛池模板: 欧美色炮 | 天天爽天天狼久久久综合 | 国产精品视频一区二区三区 | 天堂黄网 | 福利体验区 | 成人免费看片视频色多多 | 亚洲成a人片77777kkk | 久久国产免费观看 | 天天鲁天天爽天天视频 | 久青草免费视频 | 日本美女中出 | 欧美猛操 | 成年网站在线 | 成人区精品一区二区毛片不卡 | 黄色a∨| 日本免费一区二区老鸭窝 | 成人国产亚洲欧美成人综合网 | 天堂资源wwww在线看 | 在线一区二区三区 | 一区二区三区四区在线 | 欧美日韩性高爱潮视频 | 日韩免费视频一区 | 午夜影皖 | 四虎网站在线播放 | 国产视频观看 | 国产高清一区二区三区四区 | 国产精品美女免费视频大全 | 国产一级鲁丝片 | xxxx人成高清免费图片 | 人人插人人草 | 影视精品网站入口 | 亚洲狠狠97婷婷综合久久久久 | 韩国三级理论在线看中文字幕 | 韩国三级理论在线看中文字幕 | 午夜精品aaa国产福利 | 精品国产麻豆免费人成网站 | 成人免费一区二区三区 | 四虎地址8848最新章节 | 日本免费不卡在线一区二区三区 | 久久观看午夜精品 | 亚在线 |