電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 80|回復(fù): 0
收起左側(cè)

以GPU為中心的通信

[復(fù)制鏈接]

433

主題

433

帖子

3062

積分

四級(jí)會(huì)員

Rank: 4

積分
3062
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-30 08:01:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
引言
3 c9 z5 _. D7 v2 g& @高性能計(jì)算(HPC)和機(jī)器學(xué)習(xí)(ML)領(lǐng)域已經(jīng)因GPU的廣泛應(yīng)用而發(fā)生了變革。截至2024年6月,世界排名前10的超級(jí)計(jì)算機(jī)中有9個(gè)依賴(lài)GPU集群進(jìn)行加速。GPU在計(jì)算方面表現(xiàn)出色,但GPU之間的通信可能成為重大瓶頸,特別是當(dāng)每個(gè)節(jié)點(diǎn)和集群中的GPU數(shù)量增加時(shí)。
7 {( n. T2 ^2 c  |
  s$ }" _7 F; w( H; `; {  P傳統(tǒng)上,多GPU通信由CPU管理。然而,近期以GPU為中心的通信進(jìn)展正在挑戰(zhàn)這一范式,減少CPU參與,賦予GPU更多通信任務(wù)自主權(quán),并解決多GPU通信與計(jì)算之間的不匹配問(wèn)題[1]。) J4 K. `: y1 Y- ~# }0 X3 d0 d. B; c

3 m3 \* N, @0 i; H9 z8 V
7 [1 _% w( P3 i7 S圖1:展示了不同類(lèi)型的節(jié)點(diǎn)內(nèi)通信方法的數(shù)據(jù)路徑和API調(diào)用。8 h0 F- Y, K9 Q/ q( o5 ?
: E& u4 n+ J5 j/ h! _8 E
理解GPU中心通信
5 V1 C/ D6 u: ]4 U9 |: h7 iGPU中心通信可以廣泛定義為減少CPU在多GPU執(zhí)行關(guān)鍵路徑中參與的機(jī)制。這包括供應(yīng)商層面的改進(jìn)(賦予GPU通信自主權(quán))和利用這些改進(jìn)的用戶(hù)層面實(shí)現(xiàn)。
6 J) }: E2 o; K2 t7 P$ v: J2 W0 m) `6 K+ d# k& s
GPU中心通信主要分為兩類(lèi):4 I. W2 ~3 x( D0 B" p2 m% ^# q
  • 節(jié)點(diǎn)內(nèi)通信:在單個(gè)節(jié)點(diǎn)內(nèi)進(jìn)行通信,該節(jié)點(diǎn)包含多個(gè)連接到共享內(nèi)存主機(jī)的GPU卡。
  • 節(jié)點(diǎn)間通信:跨多個(gè)節(jié)點(diǎn)進(jìn)行通信,每個(gè)GPU由不同的進(jìn)程控制,不同節(jié)點(diǎn)上的進(jìn)程之間不共享內(nèi)存。
    / e9 G; j0 \- y& p2 j) Y

    8 w2 `' l) H; Z支持GPU中心通信的關(guān)鍵技術(shù): M5 G+ Q3 j. `+ `/ d
    幾項(xiàng)技術(shù)為高效的GPU中心通信奠定了基礎(chǔ):
    3 T) b' _( U8 N4 }( g7 }8 b
    2 ^* n4 \5 w8 i1. 統(tǒng)一虛擬尋址(UVA):在CUDA 4.0中引入,UVA允許節(jié)點(diǎn)內(nèi)的所有GPU和CPU共享同一統(tǒng)一虛擬地址空間,簡(jiǎn)化了內(nèi)存管理。
    - _, s. F1 E* x  n/ U1 C1 @2 ]7 T- W5 u7 z
    2. GPUDirect:一系列優(yōu)化GPU與其他器件之間數(shù)據(jù)傳輸?shù)募夹g(shù):
    7 |# ]5 C+ c- w4 K
  • GPUDirect RDMA:支持NVIDIA GPU跨節(jié)點(diǎn)直接通信,無(wú)需CPU參與。
  • GPUDirect P2P:允許同一PCIe根復(fù)合體上的GPU之間直接內(nèi)存訪(fǎng)問(wèn)。4 S9 B) G+ l# p3 {" J! \( q. a
    9 T+ g& |  H+ p% C
    3. NVLink:高帶寬、低延遲的GPU到GPU互連,顯著提高了GPU之間的數(shù)據(jù)傳輸速率。0 r# ^7 X7 L) h

    8 s- ?8 y8 @$ ^6 g) c& _ / L; t+ U; G8 z1 J' ^
    圖2:呈現(xiàn)了NVIDIA支持GPU中心通信和網(wǎng)絡(luò)的技術(shù)時(shí)間線(xiàn)。
    9 h  [/ {+ Z) S1 D
    3 D1 t- K" B, B: o, R- [" P  _( E4. CUDA IPC:允許同一節(jié)點(diǎn)上的進(jìn)程訪(fǎng)問(wèn)其他進(jìn)程的器件緩沖區(qū),無(wú)需額外復(fù)制。( K3 P, v4 m% O8 }: N
    : Q, i, l5 {# b3 p7 v7 g  W- z
    5. 統(tǒng)一內(nèi)存(UVM):創(chuàng)建一個(gè)節(jié)點(diǎn)內(nèi)所有處理器可訪(fǎng)問(wèn)的單一地址空間,自動(dòng)管理CPU和GPU內(nèi)存之間的數(shù)據(jù)移動(dòng)。" I* ~# x4 G% D8 |) `8 L

    4 R9 E% x: W- s/ p, p; s

    " g( x5 K& n7 b! H% l4 _GPU中心通信庫(kù)7 h) ]9 _+ K, P. `( m
    幾個(gè)庫(kù)已經(jīng)開(kāi)發(fā)出來(lái)利用這些技術(shù)并提供高效GPU為中心的通信:+ [! n" T) n  T/ [& C8 D
  • GPU感知MPI:可以區(qū)分主機(jī)和器件緩沖區(qū)的MPI實(shí)現(xiàn),允許GPU之間直接通信,無(wú)需通過(guò)主機(jī)內(nèi)存中轉(zhuǎn)。
  • NCCL (NVIDIA集體通信庫(kù)):提供針對(duì)深度學(xué)習(xí)工作負(fù)載優(yōu)化的拓?fù)涓兄w原語(yǔ),用于GPU間通信。
  • NVSHMEM:NVIDIA對(duì)CUDA器件OpenSHMEM規(guī)范的實(shí)現(xiàn),為進(jìn)程提供高效的單邊put/get API以訪(fǎng)問(wèn)遠(yuǎn)程數(shù)據(jù)對(duì)象。
  • ROC_SHMEM:AMD對(duì)NVSHMEM的對(duì)應(yīng)實(shí)現(xiàn),為AMD GPU提供類(lèi)似功能。
    ' K3 `9 B4 F+ T3 `4 T1 H* U( e[/ol]7 T" g; u  ?. Y

    ) `2 }  F/ K: v% A
    4 e) D- j8 `* W% V6 a' V0 y( V# G! H圖3:展示了各種以GPU為中心的通信方法的節(jié)點(diǎn)間通信數(shù)據(jù)和控制路徑。& s9 E2 \/ D* X, S1 _2 d: k
    : U( f$ k4 F! U4 U

    " a0 J" u- g6 v3 J2 ?挑戰(zhàn)和未來(lái)方向
    ( ~% \6 g  q; \" e& F' k" I: O以GPU為中心的通信提供了顯著優(yōu)勢(shì),但仍存在幾個(gè)挑戰(zhàn)和未來(lái)研究方向:
    + B0 \' x) ^# z! K* u: G* g
  • 語(yǔ)義不匹配:MPI和GPU編程模型之間存在根本的語(yǔ)義不匹配,因?yàn)镸PI不了解GPU流。這可能導(dǎo)致強(qiáng)制同步和內(nèi)核啟動(dòng)流水線(xiàn)受損。
  • 資源爭(zhēng)用:當(dāng)通信和計(jì)算都由GPU線(xiàn)程執(zhí)行時(shí),它們會(huì)爭(zhēng)用相同的有限資源,可能導(dǎo)致性能問(wèn)題。
  • 內(nèi)存一致性:確保內(nèi)核運(yùn)行時(shí)GPU和NIC內(nèi)存之間的一致性可能具有挑戰(zhàn)性,特別是對(duì)于持久內(nèi)核。
  • 集體算法設(shè)計(jì):多GPU系統(tǒng)復(fù)雜且非傳統(tǒng)的拓?fù)浣Y(jié)構(gòu),以及GPU對(duì)之間不均勻的帶寬,使設(shè)計(jì)高效的集體通信算法變得復(fù)雜。
    9 ]2 E& f  D" W3 `7 O[/ol]# S6 U* S; i' q
    未來(lái)研究方向包括:
    : d3 @7 ]+ `4 R) e7 f9 b% Q
  • 無(wú)CPU網(wǎng)絡(luò):將整個(gè)網(wǎng)絡(luò)棧移至GPU,實(shí)現(xiàn)完全自主的多GPU執(zhí)行。
  • 更廣泛的GPU自主性:使GPU能夠處理傳統(tǒng)上由CPU管理的任務(wù),如文件系統(tǒng)訪(fǎng)問(wèn)和系統(tǒng)調(diào)用。
  • 改進(jìn)調(diào)試和分析工具:開(kāi)發(fā)能夠監(jiān)控和可視化GPU中心通信的工具,包括器件原生傳輸和多GPU環(huán)境中的競(jìng)爭(zhēng)檢測(cè)。  v4 Z/ o8 D- K1 D
    [/ol]& E; b5 ]4 v" C' d: U
    結(jié)論
    0 d6 H" [( Z6 r8 P6 b3 o以GPU為中心的通信代表了多GPU執(zhí)行范式的重大轉(zhuǎn)變,提供了提高性能、降低延遲和增強(qiáng)可擴(kuò)展性的潛力。隨著GPU繼續(xù)主導(dǎo)HPC和ML領(lǐng)域,理解和利用這些通信技術(shù)對(duì)于開(kāi)發(fā)人員、研究人員和系統(tǒng)設(shè)計(jì)師來(lái)說(shuō)將變得越來(lái)越重要,以便從多GPU系統(tǒng)中獲得最大性能。, s" E3 c/ W+ A

    # Z- c" f6 `2 Y  [7 |3 l以GPU為中心的通信領(lǐng)域正在迅速發(fā)展,新的硬件特性、軟件庫(kù)和編程模型不斷涌現(xiàn)。了解這些發(fā)展及其影響對(duì)于任何使用大規(guī)模GPU加速系統(tǒng)的人來(lái)說(shuō)都是必要的。
    # [! N) {, |) X& s  f5 i! F2 r, F! q9 D. q9 a* Q
    展望未來(lái),可以期待GPU中心通信的進(jìn)一步優(yōu)化,這將由硬件互連的進(jìn)步、更復(fù)雜的軟件庫(kù)和創(chuàng)新的編程模型推動(dòng)。這些發(fā)展將繼續(xù)推動(dòng)高性能計(jì)算和機(jī)器學(xué)習(xí)的邊界,使更復(fù)雜和要求更高的應(yīng)用能夠在大規(guī)模GPU集群上高效運(yùn)行。
    - z% Y5 l. ~4 I2 D: J+ Z
    5 @+ s" {$ K" d! d參考文獻(xiàn)
    ' b& F  {: P/ Z! y! {, {7 G* v! q[1] D. Unat et al., "The Landscape of GPU-Centric Communication," ACM Comput. Surv., vol. 37, no. 4, Article 111, Aug. 2024.; C4 i- H" }2 m, V

    1 f" E" {, X. G  \6 _  w0 ^
      e5 ^6 Z8 F2 N4 S2 N/ ^/ s- END -9 _" Q3 j& [  e* W. T) Z
    9 W1 v3 e4 `2 f- Y. O6 a1 p
    軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無(wú)論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。
    ' D" V; V0 p- @/ ^點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)
    , ^! @& e# `! A
    7 T% P0 }# k0 ~% a歡迎轉(zhuǎn)載! M8 M4 R8 |7 O* A' ^

    6 E- ?, l& c; n2 C+ C  V轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!* Y. [5 |) T' t! B: G# r& B

    * t9 S) u1 A% U- R
    5 {" w( G& B5 Z( c& G* X
    $ S. _" a$ y! h1 l3 `  Y, `

    9 Y7 v1 ]( ~0 a' e6 u% U, |% y9 e5 k4 N
    2 `5 _1 I4 R; t% h5 x3 [關(guān)注我們( V* r4 W1 ?' s) |5 @

    6 a" z. l. |  L2 y; m4 H# O

    ! M+ ]6 k6 u. H8 F! ~3 w5 ~6 ^
    # o! [" Q5 O& y1 K. x  V1 q
      z9 Z3 `6 B) ?7 w, O1 G2 v" X6 v

    ! V% ]4 p! g( H$ ]

    7 }1 W) m6 U$ @2 u1 c& ~/ d) C! y 4 c  G# d2 a, ~* C  Y
                         
    3 G  p4 a2 V) @" |* e) V) l3 K' e: [/ Y3 r# e" s8 Z" P
    8 C8 A  {* l2 t

    " _8 V& x" ~5 h關(guān)于我們:# H1 W7 b. w: Y( b! K8 Q  W5 e" z6 {" Z
    深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專(zhuān)注于半導(dǎo)體芯片設(shè)計(jì)自動(dòng)化(EDA)的高科技軟件公司。我們自主開(kāi)發(fā)特色工藝芯片設(shè)計(jì)和仿真軟件,提供成熟的設(shè)計(jì)解決方案如PIC Studio、MEMS Studio和Meta Studio,分別針對(duì)光電芯片、微機(jī)電系統(tǒng)、超透鏡的設(shè)計(jì)與仿真。我們提供特色工藝的半導(dǎo)體芯片集成電路版圖、IP和PDK工程服務(wù),廣泛服務(wù)于光通訊、光計(jì)算、光量子通信和微納光子器件領(lǐng)域的頭部客戶(hù)。逍遙科技與國(guó)內(nèi)外晶圓代工廠及硅光/MEMS中試線(xiàn)合作,推動(dòng)特色工藝半導(dǎo)體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶(hù)提供前沿技術(shù)與服務(wù)。
    2 w: a! \: ^, O: C1 m2 k* G1 {4 F% m/ v4 J$ Q
    http://www.latitudeda.com/: f/ @  [9 \% Q
    (點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 發(fā)表回復(fù)

    本版積分規(guī)則

    關(guān)閉

    站長(zhǎng)推薦上一條 /1 下一條


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