|
引言
s. r0 I( u$ h3 N- L0 x高性能計(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í)。
7 W. z, @) ^' H4 _; N% h# Z" s$ K6 e" `. |" Z: }# P2 \
傳統(tǒng)上,多GPU通信由CPU管理。然而,近期以GPU為中心的通信進(jìn)展正在挑戰(zhàn)這一范式,減少CPU參與,賦予GPU更多通信任務(wù)自主權(quán),并解決多GPU通信與計(jì)算之間的不匹配問(wèn)題[1]。
5 K. o- m' r5 @2 d7 V3 @2 B: F! m0 \# e5 {' w
dln2bfcsmn164029997221.png (97.26 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
dln2bfcsmn164029997221.png
2024-10-1 01:07 上傳
( j) j' h) w% y, N7 ^% n( G
圖1:展示了不同類(lèi)型的節(jié)點(diǎn)內(nèi)通信方法的數(shù)據(jù)路徑和API調(diào)用。6 e) G5 V1 V7 X% m4 y
0 Y6 a- a- B- m* G+ G+ K1 W( i- b
理解GPU中心通信1 v t8 s: S' ?. A
GPU中心通信可以廣泛定義為減少CPU在多GPU執(zhí)行關(guān)鍵路徑中參與的機(jī)制。這包括供應(yīng)商層面的改進(jìn)(賦予GPU通信自主權(quán))和利用這些改進(jìn)的用戶層面實(shí)現(xiàn)。( s4 }( _4 c- t$ l9 C% a0 n; |
% H# D2 e: A# @- sGPU中心通信主要分為兩類(lèi):
5 k/ m) A. u/ m2 ]& s+ b節(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)存。
# z& ?# m; ]& k& _
1 T% j- }) X7 F; G1 L: E* d# @支持GPU中心通信的關(guān)鍵技術(shù)7 ?) p4 s& o4 i) a* d, e
幾項(xiàng)技術(shù)為高效的GPU中心通信奠定了基礎(chǔ):
/ S" k7 T8 a$ v3 J, t2 v( u+ E; h/ v! T/ ^ S& E5 k! i9 e \4 e
1. 統(tǒng)一虛擬尋址(UVA):在CUDA 4.0中引入,UVA允許節(jié)點(diǎn)內(nèi)的所有GPU和CPU共享同一統(tǒng)一虛擬地址空間,簡(jiǎn)化了內(nèi)存管理。6 t$ ~. F: G% J9 h5 `0 T& N8 P- Y
6 P" Z2 y1 s# G3 I2. GPUDirect:一系列優(yōu)化GPU與其他器件之間數(shù)據(jù)傳輸?shù)募夹g(shù):' ^( l# [4 A& O
GPUDirect RDMA:支持NVIDIA GPU跨節(jié)點(diǎn)直接通信,無(wú)需CPU參與。GPUDirect P2P:允許同一PCIe根復(fù)合體上的GPU之間直接內(nèi)存訪問(wèn)。* r- z; N W% U3 d
/ b0 i+ T% u) V j3. NVLink:高帶寬、低延遲的GPU到GPU互連,顯著提高了GPU之間的數(shù)據(jù)傳輸速率。
2 Q0 Z% t1 T+ w; V9 U O: T, ?/ J- I4 R) p4 D# q4 P
wlnjf4vbo4i64029997321.png (147.58 KB, 下載次數(shù): 9)
下載附件
保存到相冊(cè)
wlnjf4vbo4i64029997321.png
2024-10-1 01:07 上傳
$ j6 P" Y5 Q) W( E$ i4 j
圖2:呈現(xiàn)了NVIDIA支持GPU中心通信和網(wǎng)絡(luò)的技術(shù)時(shí)間線。
8 b* P% A" z- B% p' }. R
6 L: g5 P5 y. Q7 Q2 R* F7 ?4. CUDA IPC:允許同一節(jié)點(diǎn)上的進(jìn)程訪問(wèn)其他進(jìn)程的器件緩沖區(qū),無(wú)需額外復(fù)制。
2 f$ V2 y* Q u' W5 u3 F& A+ Q* W4 O. {6 N" S' ?7 }, C' {
5. 統(tǒng)一內(nèi)存(UVM):創(chuàng)建一個(gè)節(jié)點(diǎn)內(nèi)所有處理器可訪問(wèn)的單一地址空間,自動(dòng)管理CPU和GPU內(nèi)存之間的數(shù)據(jù)移動(dòng)。" V% T# u7 H& {$ e( ]
* b6 z1 H/ x$ O2 R0 D8 v! p
# `4 }+ B* x* y7 |/ u2 @1 S+ m
GPU中心通信庫(kù)
8 q! i9 i7 v X: J6 P6 Y9 e幾個(gè)庫(kù)已經(jīng)開(kāi)發(fā)出來(lái)利用這些技術(shù)并提供高效GPU為中心的通信:# K4 B4 ]8 H: @8 s
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以訪問(wèn)遠(yuǎn)程數(shù)據(jù)對(duì)象。ROC_SHMEM:AMD對(duì)NVSHMEM的對(duì)應(yīng)實(shí)現(xiàn),為AMD GPU提供類(lèi)似功能。
& `) H& ]( ?" ~3 l( J; {1 l3 c[/ol]
6 p3 w. E0 Y, H# S
F; V. g6 t* ~! m" J/ |5 M7 ]3 p
qgpmxzuax3564029997421.png (123.58 KB, 下載次數(shù): 11)
下載附件
保存到相冊(cè)
qgpmxzuax3564029997421.png
2024-10-1 01:07 上傳
7 m" r" U2 W& d: C
圖3:展示了各種以GPU為中心的通信方法的節(jié)點(diǎn)間通信數(shù)據(jù)和控制路徑。
6 w8 r a* e& M0 o! R7 F% j0 T, c! d* w+ Q+ F
" ~* N- N6 r% A- y" }4 W
挑戰(zhàn)和未來(lái)方向
8 I! E5 J5 L# x& i" q& L' ]0 h9 D以GPU為中心的通信提供了顯著優(yōu)勢(shì),但仍存在幾個(gè)挑戰(zhàn)和未來(lái)研究方向:# z" i4 d/ A* a H, ~
語(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)致性能問(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ù)雜。; D/ {( J7 K+ V' n6 X/ _& C
[/ol]* @8 f$ n+ O B& [+ u" _
未來(lái)研究方向包括:- c. G* Y: S: g! a
無(wú)CPU網(wǎng)絡(luò):將整個(gè)網(wǎng)絡(luò)棧移至GPU,實(shí)現(xiàn)完全自主的多GPU執(zhí)行。更廣泛的GPU自主性:使GPU能夠處理傳統(tǒng)上由CPU管理的任務(wù),如文件系統(tǒ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è)。4 a9 k V7 l, a/ U! u
[/ol]3 m" y$ `* W: g! ^2 b+ j v0 l
結(jié)論
$ k7 ^: @. _8 a3 F9 t. X6 u9 W以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)中獲得最大性能。% A5 m6 n: D4 `/ l% x/ Z
6 Y) p6 }/ W! U! T' R; X
以GPU為中心的通信領(lǐng)域正在迅速發(fā)展,新的硬件特性、軟件庫(kù)和編程模型不斷涌現(xiàn)。了解這些發(fā)展及其影響對(duì)于任何使用大規(guī)模GPU加速系統(tǒng)的人來(lái)說(shuō)都是必要的。
; ]; u: T m/ ^& B# }0 ]# h% Z: s* z0 [0 { h) J6 s
展望未來(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)行。
; @9 A/ D: k& k z3 Y5 n" F, h |% L( q1 z) m$ J
參考文獻(xiàn)
5 Y( y; b3 b. `8 w6 S; B[1] D. Unat et al., "The Landscape of GPU-Centric Communication," ACM Comput. Surv., vol. 37, no. 4, Article 111, Aug. 2024.
2 a1 a8 Q; ~( ~
) i) }$ A+ E! b) v3 c3 l* y- j! ]2 f$ _( b9 q) h
- END -: o! o+ t! v6 @: N! v% {
5 [5 j; k( N; @# _6 |+ H
軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無(wú)論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。& n# C! {0 P7 C6 A9 |2 _
點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)
% _) e2 f8 D3 t. X/ E/ i8 A! Z9 o& d# R1 u- m& M0 q3 g
歡迎轉(zhuǎn)載
, p" j8 D) I" f6 N$ Q4 K/ u2 S {1 n
轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!
8 A% g, ]; y3 W6 u& c
5 }4 _! M9 M. B
+ R9 N1 c8 r+ Y! b1 d K
% r. @6 F0 R `1 W9 V1 e
0au4eoo2ehh64029997521.gif (16.04 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
0au4eoo2ehh64029997521.gif
2024-10-1 01:07 上傳
, p& t) w- I0 E- G* k6 Y8 F
. i! c0 L5 Z0 X8 \' u; d
關(guān)注我們6 g0 K0 A( w* b4 |5 s
) n& r( Y n% ]) c+ s. |8 A7 ]- v+ b' C4 {" ^8 g6 m: O
5ej2rrfoyfj64029997621.png (31.33 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
5ej2rrfoyfj64029997621.png
2024-10-1 01:07 上傳
( E3 g3 T: y7 c5 J' _
|
, h( D* u8 z7 y4 ]: C5 @
m1vkzzacjn164029997721.png (82.79 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
m1vkzzacjn164029997721.png
2024-10-1 01:07 上傳
9 l5 j. }7 s" l" v6 ^4 h) A
| - x" p2 w/ }8 {# y, R; Y
rx51yznhvkh64029997821.png (21.52 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
rx51yznhvkh64029997821.png
2024-10-1 01:07 上傳
! W% O( k% \0 l2 J% v
|
7 E1 N) H& V! E) B0 H% ^7 Q. P/ u' F" C. m& x3 F1 _2 x
' D d, L2 p4 q; H! Q; i }
; q; o' R' M1 u6 t% A4 C0 `0 z) m關(guān)于我們:
+ x/ z; o0 R5 a深圳逍遙科技有限公司(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)域的頭部客戶。逍遙科技與國(guó)內(nèi)外晶圓代工廠及硅光/MEMS中試線合作,推動(dòng)特色工藝半導(dǎo)體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶提供前沿技術(shù)與服務(wù)。7 t& Y9 K& X6 U$ X+ ]
( \# e) q' [4 \1 \6 g xhttp://www.latitudeda.com/2 O1 g" |) n t3 N4 d
(點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容) |
|