|
引言
; x* z: x8 `: G1 E$ x0 |5 ]" F高性能計(jì)算(HPC)和人工智能(AI)領(lǐng)域因異構(gòu)系統(tǒng)而發(fā)生了巨大變革,特別是那些集成了GPU的系統(tǒng)。隨著工作負(fù)載越來(lái)越受內(nèi)存限制,優(yōu)化系統(tǒng)內(nèi)部的通信延遲和帶寬變得極為重要。NVIDIA Grace Hopper超級(jí)芯片(GH200)代表了緊密耦合異構(gòu)系統(tǒng)的重大進(jìn)步,提供了統(tǒng)一的地址空間和對(duì)系統(tǒng)所有主內(nèi)存的透明細(xì)粒度訪問(wèn)。
# i4 `2 k, f `: d8 y3 r
& b' |: a- d8 P' A本文將探討Quad GH200節(jié)點(diǎn)的架構(gòu)(這是瑞士國(guó)家超級(jí)計(jì)算中心Alps超級(jí)計(jì)算機(jī)的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見(jiàn)解[1]。3 J7 M$ x6 k; b8 y7 |2 o
etd2yxyhk1r640131845344.png (268.61 KB, 下載次數(shù): 3)
下載附件
保存到相冊(cè)
etd2yxyhk1r640131845344.png
前天 01:04 上傳
/ X1 G4 q9 V& u) f) C
9 O5 W8 {& @8 v; \# `" h
架構(gòu)概述7 [- m0 H/ ~5 A. n, e% ]+ p. O
Quad GH200節(jié)點(diǎn)由四個(gè)GH200超級(jí)芯片組成,每個(gè)超級(jí)芯片結(jié)合了一個(gè)Grace CPU和一個(gè)Hopper GPU。這些單元通過(guò)NVLink和緩存一致性互連全面互聯(lián)。讓我們來(lái)看看關(guān)鍵組件:
5 b; m5 [; m {2 B5 R
dn4vw1s5zfv640131845445.png (558.67 KB, 下載次數(shù): 3)
下載附件
保存到相冊(cè)
dn4vw1s5zfv640131845445.png
前天 01:04 上傳
7 y; h" T. Q3 | b7 p& u! K圖1:Quad GH200節(jié)點(diǎn)的架構(gòu)' N r, g- b$ Z- l" I2 K8 }
3 J* y; m7 b# S7 S, v如圖1所示,每個(gè)GH200超級(jí)芯片具有以下特點(diǎn):
' X7 b, ^6 w) t9 @# c2 U; I% J一個(gè)Grace CPU,有72個(gè)Arm Neoverse V2核心一個(gè)Hopper GPU,有132個(gè)流式多處理器(SMs)96GB的HBM3內(nèi)存(4000 GB/s帶寬)128GB的LPDDR5內(nèi)存(500 GB/s帶寬)- L- p% U1 T \6 J0 _8 ^) _' e' b
9 g( q: F% E* V; b8 u Y
GH200單元通過(guò)以下方式互連:' g* U" x% w. y0 a
NVLink:每個(gè)方向150 GB/s(總共900 GB/s)Grace互連:每個(gè)方向150 GB/sNVLink-C2C(C2C):每個(gè)方向450 GB/s(總共900 GB/s)
9 C) j; m5 V. M- F6 u# F4 E+ S6 W% W) S, K, r3 c J" u4 ]
每個(gè)節(jié)點(diǎn)還通過(guò)單獨(dú)的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個(gè)方向提供25 GB/s(總共200 GB/s)的節(jié)點(diǎn)間通信。" I# \; W& X- q* M
- V) Q( @" T5 p6 n2 @8 Q
內(nèi)存層次結(jié)構(gòu)和NUMA/ R8 V" n p3 d+ S4 m9 R4 p
Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(wèn)(NUMA)特性。
- ?4 ?" e& n+ O+ Z7 y4 i! f每個(gè)GH200由兩個(gè)NUMA節(jié)點(diǎn)組成:與Grace親和的LPDDR5內(nèi)存與Hopper親和的HBM3內(nèi)存
; G: _ N8 s1 M# n[/ol]
* | j% b; X; F* P6 C* \總的來(lái)說(shuō),一個(gè)Quad GH200節(jié)點(diǎn)有八個(gè)NUMA節(jié)點(diǎn),四個(gè)與Grace CPU相關(guān)(NUMA 0-3),四個(gè)與Hopper GPU相關(guān)(NUMA 4, 12, 20, 28)。
' D1 C/ V* F4 j- C/ N7 E# E. v+ U+ I5 w& F) F3 U& L: ]
理解數(shù)據(jù)路徑
% I. s$ o9 P- O2 F) F為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來(lái)看看讀取、寫(xiě)入和復(fù)制操作:' [/ u [2 s9 V; w; ?) u) _
lbyf5202vbv640131845545.png (490.68 KB, 下載次數(shù): 3)
下載附件
保存到相冊(cè)
lbyf5202vbv640131845545.png
前天 01:04 上傳
: c* W0 X; ^6 ` [) C* l圖2:Hopper操作的數(shù)據(jù)路徑; M! G4 A( b* H6 y, _
5 \. G$ U) ^% o2 A' e+ p$ L圖2說(shuō)明了Hopper GPU執(zhí)行的讀取、寫(xiě)入和復(fù)制操作的數(shù)據(jù)路徑。
" U+ `! x$ o4 v. p注意:
4 o$ `9 ^7 B, M3 m本地HBM訪問(wèn)具有最短的路徑和最高的帶寬(4000 GB/s)跨C2C互連的操作限制在450 GB/s復(fù)制操作可能需要多次互連遍歷,影響可達(dá)到的帶寬
1 i6 K' \) l" E4 h3 Y& @& ^: U+ `: D: E( [
內(nèi)存操作基準(zhǔn)測(cè)試' E( H6 \) n/ {
為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準(zhǔn)測(cè)試的結(jié)果:( V; W8 m n( Z& v- I0 X
1. 讀取和寫(xiě)入操作:
. S e8 a$ q9 C, I
zn3tj0za4tf640131845646.png (153.05 KB, 下載次數(shù): 3)
下載附件
保存到相冊(cè)
zn3tj0za4tf640131845646.png
前天 01:04 上傳
) _8 H6 b2 v: l! p圖3:讀取和寫(xiě)入吞吐量
' P* G b. C2 L+ a# n; |( {1 ~. w2 W% g/ w y6 c: L
圖3顯示了Grace和Hopper在不同類型內(nèi)存上進(jìn)行讀取和寫(xiě)入操作的吞吐量,包括空閑條件下和C2C互連負(fù)載下的情況。9 Y: H9 @! n% A
主要觀察:
0 Q+ |! E2 y/ n2 a, y3 V8 j5 ?( VHopper通常在本地內(nèi)存訪問(wèn)時(shí)更好地利用C2C互連跨越C2C和NVLink的操作會(huì)產(chǎn)生顯著開(kāi)銷在負(fù)載下,對(duì)HBM的寫(xiě)入受影響最大,特別是對(duì)Grace而言( f6 n# s- c( ^4 Z
) J+ Z8 l6 D$ M/ o: {1 b! K
2. 復(fù)制操作:" v a* Q5 g; G
lhmh55x401p640131845746.png (120.02 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
lhmh55x401p640131845746.png
前天 01:04 上傳
/ y( Z$ l6 ]4 L( C
圖4:復(fù)制吞吐量9 l) ^0 }2 H+ I, m2 B5 w
# D( T2 `9 ^ k2 J. v0 y6 S/ s4 \
圖4說(shuō)明了Grace和Hopper在不同源和目標(biāo)內(nèi)存類型之間進(jìn)行復(fù)制操作的吞吐量。
: |% S$ B$ }2 n4 D: ]* m8 Q" b值得注意的發(fā)現(xiàn):
" ]7 j* K2 p" M% _+ C- D內(nèi)存?zhèn)鬏敶嬖诓粚?duì)稱性(例如,Grace在從本地內(nèi)存復(fù)制到對(duì)等GH200時(shí)達(dá)到更高的吞吐量)Hopper在跨越多個(gè)互連時(shí)通常能更有效地利用可用帶寬
. R9 P7 k2 A9 D, g5 V0 V* ^: ~+ r8 K
: V/ a0 E4 A7 V+ E& w3. 延遲:
6 ~5 V/ u, z/ n% f* _2 D1 M+ C
2bha1dosrmk640131845846.png (75.84 KB, 下載次數(shù): 3)
下載附件
保存到相冊(cè)
2bha1dosrmk640131845846.png
前天 01:04 上傳
. @; P; ~+ L: x' k2 f+ p* h3 v
圖5:主內(nèi)存訪問(wèn)延遲6 t$ s- Q$ l, T' I% Y; d
, Y! R8 S$ @* z: y
圖5顯示了Grace和Hopper的主內(nèi)存訪問(wèn)延遲。有趣的是,跨越C2C互連的訪問(wèn)(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。8 {, o+ H6 m" ^# K) ?; h
5 d! a- c5 W5 ?" n. ]* X& b優(yōu)化應(yīng)用程序
& q. e$ y+ c4 }理解這些性能特征對(duì)于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來(lái)看一些示例工作負(fù)載及其基于內(nèi)存放置的性能:
- V1 A4 H! u+ ], f. A/ D* `1. GEMM(通用矩陣乘法):2 N& d6 b/ n% H5 \
xwra2nee20t640131845946.png (141.24 KB, 下載次數(shù): 2)
下載附件
保存到相冊(cè)
xwra2nee20t640131845946.png
前天 01:04 上傳
. W3 U5 {, N5 N2 I: t. s
圖6:GEMM性能* D& Z' p& s* P% W, \5 o
& _; j1 `2 [! E* c- ]- A. x% [; {圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點(diǎn):% b: S, b; u+ K( I0 `6 H, P. u x. J
HBM放置對(duì)于最佳性能至關(guān)重要,特別是對(duì)于使用Tensor Cores的數(shù)據(jù)類型即使將一個(gè)矩陣移出HBM也可能顯著影響性能6 v% K+ o5 z2 u% k; @; r
$ c/ i# B# N+ P& D
2. LLM(大型語(yǔ)言模型)推理:: @; F, l; s" d
20014rdhvzh640131846046.png (60.41 KB, 下載次數(shù): 4)
下載附件
保存到相冊(cè)
20014rdhvzh640131846046.png
前天 01:04 上傳
' E5 H6 D/ Z9 X, \0 d* L6 a" S) Y, }
圖7:LLM推理時(shí)間' @8 W% F, e+ n* a1 ?5 `; `8 t3 W
8 U! O* x4 `& W2 z4 Z# N圖7顯示了不同模型和內(nèi)存分配的LLM推理時(shí)間。觀察結(jié)果:/ e# k. g6 I |9 O; \
內(nèi)存訪問(wèn)速度對(duì)吞吐量起著根本作用HBM分配提供最佳性能,而對(duì)等內(nèi)存訪問(wèn)顯著影響推理時(shí)間" O* o& v; O. n X% A" k
/ u6 _. h2 {: k H3. NCCL(NVIDIA集體通信庫(kù))操作:
( U9 M& R/ x1 F
wtcar1tazwv640131846146.png (98.46 KB, 下載次數(shù): 3)
下載附件
保存到相冊(cè)
wtcar1tazwv640131846146.png
前天 01:04 上傳
* s0 J1 b- O% c
圖8:NCCL All Reduce和All Gather性能
% E8 w8 y6 `" i* i" C4 y2 @2 o$ V2 f9 \ M: F A* R
圖8說(shuō)明了節(jié)點(diǎn)內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點(diǎn):
& r6 H8 N: z6 S( c超級(jí)芯片局部性比使用的內(nèi)存類型更重要同一GH200內(nèi)存大大優(yōu)于對(duì)等訪問(wèn)0 l" ~: ]5 _) i D0 P
) n" W$ p+ o6 L1 H
最佳實(shí)踐和建議
3 S8 Z. ?& _1 d0 R基于從這些基準(zhǔn)測(cè)試和應(yīng)用程序示例中獲得的見(jiàn)解,以下是在Quad GH200系統(tǒng)上優(yōu)化內(nèi)存操作的一些最佳實(shí)踐:優(yōu)先使用HBM:盡可能將性能關(guān)鍵數(shù)據(jù)放在本地HBM內(nèi)存中,特別是對(duì)于GPU密集型工作負(fù)載。最小化跨GH200訪問(wèn):盡量將數(shù)據(jù)保持在執(zhí)行計(jì)算的GH200單元本地,因?yàn)閷?duì)等內(nèi)存訪問(wèn)會(huì)導(dǎo)致顯著的性能損失。謹(jǐn)慎利用統(tǒng)一內(nèi)存:雖然統(tǒng)一內(nèi)存簡(jiǎn)化了編程,但要注意與顯式內(nèi)存管理相比的性能特征。考慮內(nèi)存?zhèn)鬏數(shù)牟粚?duì)稱性:在設(shè)計(jì)數(shù)據(jù)移動(dòng)模式時(shí),要考慮不同內(nèi)存類型之間復(fù)制操作的不對(duì)稱性。優(yōu)化集體操作:對(duì)于使用NCCL或類似庫(kù)的應(yīng)用程序,專注于超級(jí)芯片局部性以最大化性能。分析和迭代:使用分析工具識(shí)別應(yīng)用程序中的內(nèi)存訪問(wèn)模式,并根據(jù)系統(tǒng)的性能特征迭代優(yōu)化數(shù)據(jù)放置。
$ {1 t( Y/ V4 z- M! q" B[/ol]% n$ }) _: s+ h3 P
結(jié)論
! j! m. X+ S4 C' N+ z6 h( PQuad GH200節(jié)點(diǎn)為HPC和AI工作負(fù)載提供了強(qiáng)大的計(jì)算能力和內(nèi)存帶寬。然而,要充分利用其潛力,開(kāi)發(fā)人員必須理解其復(fù)雜的內(nèi)存層次結(jié)構(gòu)并相應(yīng)地優(yōu)化數(shù)據(jù)放置。通過(guò)遵循本文概述的最佳實(shí)踐并仔細(xì)考慮不同內(nèi)存操作的性能特征,可以顯著提高在這一先進(jìn)異構(gòu)系統(tǒng)上應(yīng)用程序的效率。* T9 o! v* i: X, f- d: K' D j
" C" ~ |9 C+ j: A參考文獻(xiàn)9 {+ g4 I* V+ Z" M( I3 i1 g! T' J
[1] L. Fusco et al., "Understanding Data Movement in Tightly Coupled Heterogeneous Systems: A Case Study with the Grace Hopper Superchip," arXiv preprint arXiv:2408.11556v2, Aug. 2024.
6 k; a( q) D ` A9 ]1 C; Y
@8 ]+ ~8 u8 sEND
6 w4 S% \, O4 T6 j/ Z4 A' G3 \5 S) E H- s) u l( z4 R5 G( E4 L
0 Q$ F; U, [& S R( C1 [0 \: S
軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無(wú)論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。* d" s6 {6 X: A7 |6 W
點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)
8 J/ v3 X: I& n6 w6 F- |( G
8 W0 n- I! g9 Z. S歡迎轉(zhuǎn)載0 i" S1 q i) d
5 X9 w6 T, c2 ?轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!
! E, E; e9 ]; _ U& ~- k- ] F% q, U5 v
( W/ Y+ d2 m* W) d* c$ N' ~# c( Z' H; e- r
0 ^& Q# Y) f% t! w+ W6 c* b
dwno3zivgzi640131846246.gif (16.04 KB, 下載次數(shù): 2)
下載附件
保存到相冊(cè)
dwno3zivgzi640131846246.gif
前天 01:04 上傳
! B5 D) J1 t2 I% I1 A
% ]3 h# K2 ]" o: J# Z. v# x i; O. ]關(guān)注我們
/ d' }7 m4 a! ?: {; C; _/ k, A
}# j# j4 z5 l4 A; g" j5 n
$ X1 b8 G# O1 k1 @
4rylqec5bdo640131846346.png (31.33 KB, 下載次數(shù): 2)
下載附件
保存到相冊(cè)
4rylqec5bdo640131846346.png
前天 01:04 上傳
* X# c& L) {2 k3 D' Q6 j8 q
| 2 c# ?, `8 M+ W( c; C4 G
dmhmyzw3c0v640131846446.png (82.79 KB, 下載次數(shù): 3)
下載附件
保存到相冊(cè)
dmhmyzw3c0v640131846446.png
前天 01:04 上傳
3 C5 U. `/ ?, h$ a, x4 p( }+ o | 4 ]5 w$ p. P5 M8 u! W# x. w+ V
vjb0ch5fihn640131846546.png (21.52 KB, 下載次數(shù): 3)
下載附件
保存到相冊(cè)
vjb0ch5fihn640131846546.png
前天 01:04 上傳
+ a: S: G3 g7 o2 i |
4 F# r1 P1 Q' a* G f8 K: k; {. F$ Y( V0 P
. J5 D" A+ E0 o
+ c s" P* j/ B
關(guān)于我們:9 Y; |# B) ^* I. R
深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導(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ù)。
" B3 U2 K3 h( g3 q
2 g% j! v" C3 N% v1 z/ ]. [http://www.latitudeda.com/- E6 H4 H4 v5 O& `
(點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容) |
|