電子產業(yè)一站式賦能平臺

PCB聯(lián)盟網

搜索
查看: 115|回復: 0
收起左側

以GPU為中心的通信

[復制鏈接]

686

主題

686

帖子

5863

積分

四級會員

Rank: 4

積分
5863
跳轉到指定樓層
樓主
發(fā)表于 2024-9-30 08:01:00 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
引言
- b, w1 A  S5 M/ T" X1 j8 p  d' ~* |高性能計算(HPC)和機器學習(ML)領域已經因GPU的廣泛應用而發(fā)生了變革。截至2024年6月,世界排名前10的超級計算機中有9個依賴GPU集群進行加速。GPU在計算方面表現(xiàn)出色,但GPU之間的通信可能成為重大瓶頸,特別是當每個節(jié)點和集群中的GPU數(shù)量增加時。
1 ~0 L8 f6 O# @  J; \# S9 W# H
. b) A* R7 c* t, m  y傳統(tǒng)上,多GPU通信由CPU管理。然而,近期以GPU為中心的通信進展正在挑戰(zhàn)這一范式,減少CPU參與,賦予GPU更多通信任務自主權,并解決多GPU通信與計算之間的不匹配問題[1]。0 S+ ]- T. Q3 y" q" y/ o4 r

' T3 l; R/ t- a# k% x& L
* R/ y+ s, t. r" S  l5 e4 q& b) B圖1:展示了不同類型的節(jié)點內通信方法的數(shù)據(jù)路徑和API調用。" m9 o2 i8 r. P; |

5 a- _+ Q1 a+ b; C1 T6 q* _; X! F理解GPU中心通信, o6 F6 A- K* X8 a1 @% C7 x. x
GPU中心通信可以廣泛定義為減少CPU在多GPU執(zhí)行關鍵路徑中參與的機制。這包括供應商層面的改進(賦予GPU通信自主權)和利用這些改進的用戶層面實現(xiàn)。
- g1 a6 k' d( p9 e  m, T' C4 i' T# s
GPU中心通信主要分為兩類:
* X6 d( @, |) h) y% I% R" q% Q7 s
  • 節(jié)點內通信:在單個節(jié)點內進行通信,該節(jié)點包含多個連接到共享內存主機的GPU卡。
  • 節(jié)點間通信:跨多個節(jié)點進行通信,每個GPU由不同的進程控制,不同節(jié)點上的進程之間不共享內存。
    $ }6 k7 N( g) I9 {9 C7 \; z. E
    ( Q+ W6 u; @; h) r/ ~7 \: }# c0 |
    支持GPU中心通信的關鍵技術4 i9 p4 Q- B7 B5 R( m. G
    幾項技術為高效的GPU中心通信奠定了基礎:
    $ r* z  H$ n( P% H. K# A0 k8 [9 v, i( |  i
    1. 統(tǒng)一虛擬尋址(UVA):在CUDA 4.0中引入,UVA允許節(jié)點內的所有GPU和CPU共享同一統(tǒng)一虛擬地址空間,簡化了內存管理。9 f* D+ j8 Q  e' `, P5 q

    4 n: p% Y$ |: E" \2. GPUDirect:一系列優(yōu)化GPU與其他器件之間數(shù)據(jù)傳輸?shù)募夹g:
    4 a% O" X! ^" F. q% p: L
  • GPUDirect RDMA:支持NVIDIA GPU跨節(jié)點直接通信,無需CPU參與。
  • GPUDirect P2P:允許同一PCIe根復合體上的GPU之間直接內存訪問。; |+ H0 U! p% V0 A- z

    4 m. v) _9 }; V+ z) m3. NVLink:高帶寬、低延遲的GPU到GPU互連,顯著提高了GPU之間的數(shù)據(jù)傳輸速率。
    : S  a& n2 B1 p9 T1 k- s/ B( F
    ! U2 G* j4 Q8 q0 K/ ^
    8 U! ]) |" c- R- F' w+ Z0 c' L圖2:呈現(xiàn)了NVIDIA支持GPU中心通信和網絡的技術時間線。$ v* k! _7 m8 f) j" b3 D  L) |4 h0 `

    6 z6 q8 D, z5 M/ _4. CUDA IPC:允許同一節(jié)點上的進程訪問其他進程的器件緩沖區(qū),無需額外復制。
    + X4 K4 E  Y2 V  r/ z
    8 u3 H* \6 M4 a5. 統(tǒng)一內存(UVM):創(chuàng)建一個節(jié)點內所有處理器可訪問的單一地址空間,自動管理CPU和GPU內存之間的數(shù)據(jù)移動。
    3 G6 A# Y0 h# {! j" p1 V+ j0 M9 R5 O; r. G
    9 F1 \. s; Q9 x
    GPU中心通信庫: N% g- X, j, ]1 v
    幾個庫已經開發(fā)出來利用這些技術并提供高效GPU為中心的通信:! T# t( s& F: `" ?+ P3 q
  • GPU感知MPI:可以區(qū)分主機和器件緩沖區(qū)的MPI實現(xiàn),允許GPU之間直接通信,無需通過主機內存中轉。
  • NCCL (NVIDIA集體通信庫):提供針對深度學習工作負載優(yōu)化的拓撲感知集體原語,用于GPU間通信。
  • NVSHMEM:NVIDIA對CUDA器件OpenSHMEM規(guī)范的實現(xiàn),為進程提供高效的單邊put/get API以訪問遠程數(shù)據(jù)對象。
  • ROC_SHMEM:AMD對NVSHMEM的對應實現(xiàn),為AMD GPU提供類似功能。  Q- ~5 c' W7 v* Q% F( a" h0 Z+ h
    [/ol]
    / }* B+ H  P- @% M7 R0 k+ \# W; ]
    5 c! N  v- \8 b3 n
    $ R# `. x2 H) C3 F圖3:展示了各種以GPU為中心的通信方法的節(jié)點間通信數(shù)據(jù)和控制路徑。
    $ [( i6 U" s2 m# \' P/ O
      ?4 M- [6 r. f! G4 Z
    : [; C3 _* P5 L4 ~9 O. \$ r
    挑戰(zhàn)和未來方向
    * D/ t$ ~2 j. ?( b$ E. A以GPU為中心的通信提供了顯著優(yōu)勢,但仍存在幾個挑戰(zhàn)和未來研究方向:! |; J6 j- r) c
  • 語義不匹配:MPI和GPU編程模型之間存在根本的語義不匹配,因為MPI不了解GPU流。這可能導致強制同步和內核啟動流水線受損。
  • 資源爭用:當通信和計算都由GPU線程執(zhí)行時,它們會爭用相同的有限資源,可能導致性能問題。
  • 內存一致性:確保內核運行時GPU和NIC內存之間的一致性可能具有挑戰(zhàn)性,特別是對于持久內核。
  • 集體算法設計:多GPU系統(tǒng)復雜且非傳統(tǒng)的拓撲結構,以及GPU對之間不均勻的帶寬,使設計高效的集體通信算法變得復雜。1 P2 _3 e) i) i; e- |; z% M
    [/ol]
    2 ~) O5 O5 o+ D( z未來研究方向包括:" j3 {) s' V  D. C0 o
  • 無CPU網絡:將整個網絡棧移至GPU,實現(xiàn)完全自主的多GPU執(zhí)行。
  • 更廣泛的GPU自主性:使GPU能夠處理傳統(tǒng)上由CPU管理的任務,如文件系統(tǒng)訪問和系統(tǒng)調用。
  • 改進調試和分析工具:開發(fā)能夠監(jiān)控和可視化GPU中心通信的工具,包括器件原生傳輸和多GPU環(huán)境中的競爭檢測。
    : A- f# B# X$ n8 P: ^( P: f[/ol]- P) Z( E5 s0 J, [) k; c. ~
    結論
    ) n5 J/ A3 D8 w6 ^6 M以GPU為中心的通信代表了多GPU執(zhí)行范式的重大轉變,提供了提高性能、降低延遲和增強可擴展性的潛力。隨著GPU繼續(xù)主導HPC和ML領域,理解和利用這些通信技術對于開發(fā)人員、研究人員和系統(tǒng)設計師來說將變得越來越重要,以便從多GPU系統(tǒng)中獲得最大性能。( G& s4 Q) q! \( G* O

    ( F4 S7 v2 j3 [0 Q# A以GPU為中心的通信領域正在迅速發(fā)展,新的硬件特性、軟件庫和編程模型不斷涌現(xiàn)。了解這些發(fā)展及其影響對于任何使用大規(guī)模GPU加速系統(tǒng)的人來說都是必要的。4 K* a+ H7 D9 j
    # \+ L9 h% F2 P5 U
    展望未來,可以期待GPU中心通信的進一步優(yōu)化,這將由硬件互連的進步、更復雜的軟件庫和創(chuàng)新的編程模型推動。這些發(fā)展將繼續(xù)推動高性能計算和機器學習的邊界,使更復雜和要求更高的應用能夠在大規(guī)模GPU集群上高效運行。6 L, w! k  ?5 P

    % c7 M* a9 J2 O* |8 e; f" {* @: p  C參考文獻
    " C0 z) b/ r6 G9 I8 K* {/ [/ h[1] D. Unat et al., "The Landscape of GPU-Centric Communication," ACM Comput. Surv., vol. 37, no. 4, Article 111, Aug. 2024.
    ( ~5 V# A3 \) N$ C, m# U+ z( d3 s  ^7 k! c

    4 F9 i7 V( m. W3 i+ n- END -
    9 q  K- }4 N$ ~% I
    6 a, ]. O8 ]% ~0 l; i軟件申請我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請體驗免費版PIC Studio軟件。無論是研究還是商業(yè)應用,PIC Studio都可提升您的工作效能。
    ! G: j2 j. [( |2 u/ s點擊左下角"閱讀原文"馬上申請0 \& [4 r3 S- o+ r& [

    4 k& L5 {8 V7 f7 c歡迎轉載, P, S3 n( O, C& t1 U

    8 `% v, l  {" x1 v0 n轉載請注明出處,請勿修改內容和刪除作者信息!
    % c7 H- b! E/ ]6 _8 U3 l9 {8 G, T, \7 n( q

    # o. E" d2 d" f$ @" [

    9 X; H9 P$ \, l+ U' q: L$ n ) j$ x* R' ]- C( R0 s; q# l! Z

    6 @# Y' C0 z$ E; b關注我們7 e( n- H& @' ]& i

    8 }% U. M' r: v1 Q  x. h# _  c8 E

    + M9 N4 `" _* S! V8 a$ Y
      Y( S# w3 q' _$ Y& H1 b0 h+ t

    8 Q, K) O% M: q- G
    % r, A2 t$ b* p# R0 m* p& Z. n
    + r# j, J6 |5 G7 [3 ]8 D. P9 m
    1 N9 N2 ~7 ~0 a! E4 ^; O1 w
                          - z6 {( b$ k/ |1 Y1 H
    ' H( Z1 L! u5 O+ F  P

    ' }# c6 c$ J5 |2 n  ?" w  c5 x* w, G/ L4 j
    關于我們:# z9 z2 Z# i8 Z
    深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導體芯片設計自動化(EDA)的高科技軟件公司。我們自主開發(fā)特色工藝芯片設計和仿真軟件,提供成熟的設計解決方案如PIC Studio、MEMS Studio和Meta Studio,分別針對光電芯片、微機電系統(tǒng)、超透鏡的設計與仿真。我們提供特色工藝的半導體芯片集成電路版圖、IP和PDK工程服務,廣泛服務于光通訊、光計算、光量子通信和微納光子器件領域的頭部客戶。逍遙科技與國內外晶圓代工廠及硅光/MEMS中試線合作,推動特色工藝半導體產業(yè)鏈發(fā)展,致力于為客戶提供前沿技術與服務。6 q: b) S8 U+ r

    9 i. [% \9 |7 U" K# vhttp://www.latitudeda.com/# W; F& ~9 z3 ~' `, D, |& V2 {7 M
    (點擊上方名片關注我們,發(fā)現(xiàn)更多精彩內容)
  • 回復

    使用道具 舉報

    發(fā)表回復

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則


    聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表