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

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

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

以GPU為中心的通信

[復(fù)制鏈接]

686

主題

686

帖子

5863

積分

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

Rank: 4

積分
5863
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-9-30 08:01:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
引言9 S2 W- G4 m( Q
高性能計(jì)算(HPC)和機(jī)器學(xué)習(xí)(ML)領(lǐng)域已經(jīng)因GPU的廣泛應(yīng)用而發(fā)生了變革。截至2024年6月,世界排名前10的超級(jí)計(jì)算機(jī)中有9個(gè)依賴GPU集群進(jìn)行加速。GPU在計(jì)算方面表現(xiàn)出色,但GPU之間的通信可能成為重大瓶頸,特別是當(dāng)每個(gè)節(jié)點(diǎn)和集群中的GPU數(shù)量增加時(shí)。: D; R7 {. J" B# d/ i

  T: s9 Z% Q$ z) i4 h$ |* e傳統(tǒng)上,多GPU通信由CPU管理。然而,近期以GPU為中心的通信進(jìn)展正在挑戰(zhàn)這一范式,減少CPU參與,賦予GPU更多通信任務(wù)自主權(quán),并解決多GPU通信與計(jì)算之間的不匹配問題[1]。
9 ?( u7 @" ^% a" r- v
( L; p: f% a# S0 K9 B 3 k4 \+ Y, Z2 Q9 a* k
圖1:展示了不同類型的節(jié)點(diǎn)內(nèi)通信方法的數(shù)據(jù)路徑和API調(diào)用。$ \" b: S3 w, h7 K

7 U/ R8 x' `( }0 e& H' [. d$ S+ y  b理解GPU中心通信
# z4 V# R0 r, K, n! c5 YGPU中心通信可以廣泛定義為減少CPU在多GPU執(zhí)行關(guān)鍵路徑中參與的機(jī)制。這包括供應(yīng)商層面的改進(jìn)(賦予GPU通信自主權(quán))和利用這些改進(jìn)的用戶層面實(shí)現(xiàn)。
  Q4 O- X% N: D# G' a) O) o% B- i8 R6 `  e
GPU中心通信主要分為兩類:3 K( c8 c  R' D8 P
  • 節(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)存。
    5 x4 E2 _& D4 q* j$ L

    ; U+ {) a1 m) r0 G& U支持GPU中心通信的關(guān)鍵技術(shù)
    - E7 G$ |, _# J! x) h幾項(xiàng)技術(shù)為高效的GPU中心通信奠定了基礎(chǔ):! ^. \7 h) O  a. ?5 r

    7 U7 L% k9 x- g8 h9 `9 G$ {, @1. 統(tǒng)一虛擬尋址(UVA):在CUDA 4.0中引入,UVA允許節(jié)點(diǎn)內(nèi)的所有GPU和CPU共享同一統(tǒng)一虛擬地址空間,簡(jiǎn)化了內(nèi)存管理。8 s, \; q9 C& ~5 N1 F0 K6 m$ @
    + H1 E) c) l# U- a: q
    2. GPUDirect:一系列優(yōu)化GPU與其他器件之間數(shù)據(jù)傳輸?shù)募夹g(shù):3 K: P! P& u# N' n3 m1 O2 q) _
  • GPUDirect RDMA:支持NVIDIA GPU跨節(jié)點(diǎn)直接通信,無(wú)需CPU參與。
  • GPUDirect P2P:允許同一PCIe根復(fù)合體上的GPU之間直接內(nèi)存訪問。* Y9 u. V7 ~8 h- B
    , d: {, T2 T5 |. Q! N
    3. NVLink:高帶寬、低延遲的GPU到GPU互連,顯著提高了GPU之間的數(shù)據(jù)傳輸速率。
    4 }' w+ C6 F1 Z3 _
    8 K3 }6 o! k' s4 N) E + y0 n- X' b$ j  T3 u' @
    圖2:呈現(xiàn)了NVIDIA支持GPU中心通信和網(wǎng)絡(luò)的技術(shù)時(shí)間線。  O4 {) p& W" E8 }

    4 T0 P' p! a1 ^, O. b4. CUDA IPC:允許同一節(jié)點(diǎn)上的進(jìn)程訪問其他進(jìn)程的器件緩沖區(qū),無(wú)需額外復(fù)制。
    0 `4 M5 Z$ Y8 o3 L" m" K
    " v# C$ _4 f* F9 f5. 統(tǒng)一內(nèi)存(UVM):創(chuàng)建一個(gè)節(jié)點(diǎn)內(nèi)所有處理器可訪問的單一地址空間,自動(dòng)管理CPU和GPU內(nèi)存之間的數(shù)據(jù)移動(dòng)。
    1 d- K2 u; ~  T: B. C6 W
    $ O) A! `. p* B, n

    , T1 N9 [8 f0 I9 ~% J* XGPU中心通信庫(kù)! J; k0 M2 B$ k
    幾個(gè)庫(kù)已經(jīng)開發(fā)出來(lái)利用這些技術(shù)并提供高效GPU為中心的通信:
    - ?1 b. S* c; F: Q5 \# x
  • GPU感知MPI:可以區(qū)分主機(jī)和器件緩沖區(qū)的MPI實(shí)現(xiàn),允許GPU之間直接通信,無(wú)需通過主機(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以訪問遠(yuǎn)程數(shù)據(jù)對(duì)象。
  • ROC_SHMEM:AMD對(duì)NVSHMEM的對(duì)應(yīng)實(shí)現(xiàn),為AMD GPU提供類似功能。
    6 t4 C: t" F& f% O[/ol]
    + M  }: p4 y4 b5 `, d' @& B* k# O) Y1 ~" _8 C
    ' [6 e! z. b) Q
    圖3:展示了各種以GPU為中心的通信方法的節(jié)點(diǎn)間通信數(shù)據(jù)和控制路徑。
      u" U3 U& R  M. x, D8 B6 l( _% O1 \1 @5 Q

    : X2 j+ g4 y& c2 |3 E  y挑戰(zhàn)和未來(lái)方向  M" Y5 z: f- v
    以GPU為中心的通信提供了顯著優(yōu)勢(shì),但仍存在幾個(gè)挑戰(zhàn)和未來(lái)研究方向:0 `% E) _* z, I3 |  ^
  • 語(yǔ)義不匹配:MPI和GPU編程模型之間存在根本的語(yǔ)義不匹配,因?yàn)镸PI不了解GPU流。這可能導(dǎo)致強(qiáng)制同步和內(nèi)核啟動(dòng)流水線受損。
  • 資源爭(zhēng)用:當(dāng)通信和計(jì)算都由GPU線程執(zhí)行時(shí),它們會(huì)爭(zhēng)用相同的有限資源,可能導(dǎo)致性能問題。
  • 內(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ù)雜。
    0 I4 U0 C0 S& _) g# V[/ol]
    ; G6 E7 m. N$ r未來(lái)研究方向包括:$ V+ O6 H8 }' o1 g3 u9 q9 x; a
  • 無(wú)CPU網(wǎng)絡(luò):將整個(gè)網(wǎng)絡(luò)棧移至GPU,實(shí)現(xiàn)完全自主的多GPU執(zhí)行。
  • 更廣泛的GPU自主性:使GPU能夠處理傳統(tǒng)上由CPU管理的任務(wù),如文件系統(tǒng)訪問和系統(tǒng)調(diào)用。
  • 改進(jìn)調(diào)試和分析工具:開發(fā)能夠監(jiān)控和可視化GPU中心通信的工具,包括器件原生傳輸和多GPU環(huán)境中的競(jìng)爭(zhēng)檢測(cè)。& y) W( h( m' F' \% p* y) S
    [/ol]
    # G( H& ?, \) c5 k; K5 F結(jié)論
    " H9 c8 }' w& q% M* c+ ?$ r7 V以GPU為中心的通信代表了多GPU執(zhí)行范式的重大轉(zhuǎn)變,提供了提高性能、降低延遲和增強(qiáng)可擴(kuò)展性的潛力。隨著GPU繼續(xù)主導(dǎo)HPC和ML領(lǐng)域,理解和利用這些通信技術(shù)對(duì)于開發(fā)人員、研究人員和系統(tǒng)設(shè)計(jì)師來(lái)說(shuō)將變得越來(lái)越重要,以便從多GPU系統(tǒng)中獲得最大性能。
    % u4 |" n3 y' N. f, S% g& [; _5 ~+ V
    以GPU為中心的通信領(lǐng)域正在迅速發(fā)展,新的硬件特性、軟件庫(kù)和編程模型不斷涌現(xiàn)。了解這些發(fā)展及其影響對(duì)于任何使用大規(guī)模GPU加速系統(tǒng)的人來(lái)說(shuō)都是必要的。9 s' I8 @, G) X* I9 O1 M

    " a- ~1 [6 y0 |( E  k+ X展望未來(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)行。
    : A) S. Z. D4 D- N% @$ s& N* ]. r9 k% w  [* k" c% _
    參考文獻(xiàn)
    ' \" B5 t5 J- i3 _8 w4 P- `[1] D. Unat et al., "The Landscape of GPU-Centric Communication," ACM Comput. Surv., vol. 37, no. 4, Article 111, Aug. 2024.1 C* v' o7 N. C; @: T' r
    . t) r: o' l* K7 `7 ?! l) I$ E
    / u) R; V; l# D; [
    - END -0 w! N( F* Y1 @& r9 o9 {/ W& W- A5 f

    - k5 ~7 t/ M3 ~3 ]5 U軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無(wú)論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。
    $ J' \' ^: w4 s' E1 O1 d點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)5 O% X, w5 l  `4 r

    & i+ c; s: }- X2 A7 k5 k' i歡迎轉(zhuǎn)載2 G& n0 ?4 D  g# X; Z* J
    ; y- Z  n5 W3 W1 p
    轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!
    0 f( H" _! n  W+ e7 t
    & Y, K) E3 {$ q% g
    : a6 Z- X: T/ X/ s
    ; m2 A+ `0 H! m% Y# o' C

    8 D; o* i6 F2 s+ x: [4 C" l% I7 F7 U+ d1 i
    關(guān)注我們& t/ m' p/ E, M' ^9 A6 h
    1 s# ]) a* _$ w  H( D0 J

    " x5 V6 _5 X/ m" Z
    % Y) \4 s+ Y7 D" J% G8 H
    1 z( C6 ^" k4 l% o8 J! G2 _- R
    ; g9 A* O+ k. v6 g/ F+ y6 g$ r
    7 s. r/ e, k( R: u; w

    * F& M, f# J! ]* M" a- }: ~
                          9 ]& {4 }! s5 s+ G3 C

    * c3 C, c' \3 e# l
    # F  {* L1 |" D9 e
    3 w) n: l& {, N. x
    關(guān)于我們:
    " K$ `/ O0 v: `# l深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導(dǎo)體芯片設(shè)計(jì)自動(dòng)化(EDA)的高科技軟件公司。我們自主開發(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)域的頭部客戶。逍遙科技與國(guó)內(nèi)外晶圓代工廠及硅光/MEMS中試線合作,推動(dòng)特色工藝半導(dǎo)體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶提供前沿技術(shù)與服務(wù)。0 Y( M' c& f, P2 i- _4 ^& Q, M
    # e9 [( E) a4 ^$ M
    http://www.latitudeda.com/8 B* `2 E3 e0 {6 V) {' J9 I* q
    (點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 發(fā)表回復(fù)

    本版積分規(guī)則


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