|
引言
( ^3 Y3 u# u& h/ e! ~2 z/ d7 N" n5 r# L高性能計(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)。& Z) E; u/ z% `
7 H! M. F+ ^& l0 p0 n0 _" P( A9 W$ k
本文將探討Quad GH200節(jié)點(diǎn)的架構(gòu)(這是瑞士國(guó)家超級(jí)計(jì)算中心Alps超級(jí)計(jì)算機(jī)的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。
+ d$ E' }* P J! F8 M, M$ K
etd2yxyhk1r640131845344.png (268.61 KB, 下載次數(shù): 2)
下載附件
保存到相冊(cè)
etd2yxyhk1r640131845344.png
昨天 01:04 上傳
" }) L( I$ u3 O2 M k6 J9 g: m5 C
, o& y& a& w" @" H- u0 l
架構(gòu)概述! z! q- M- ?) C9 Z
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)鍵組件:
' k, ^5 V; t2 G- z
dn4vw1s5zfv640131845445.png (558.67 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
dn4vw1s5zfv640131845445.png
昨天 01:04 上傳
( ]8 k6 }6 B1 N/ Y+ E
圖1:Quad GH200節(jié)點(diǎn)的架構(gòu)
! ]2 [1 K- z, I) }/ C
; z: ?9 B( E' W如圖1所示,每個(gè)GH200超級(jí)芯片具有以下特點(diǎn):
- r( Q9 F1 ^# ~8 ?, A# k( ?$ P一個(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帶寬)
1 R" W& r7 j7 P; y2 C5 i0 Q; [% p2 U, i9 I* k( \
GH200單元通過(guò)以下方式互連:8 L3 N! }0 K J/ V9 [1 {2 d
NVLink:每個(gè)方向150 GB/s(總共900 GB/s)Grace互連:每個(gè)方向150 GB/sNVLink-C2C(C2C):每個(gè)方向450 GB/s(總共900 GB/s)
0 M) \3 w7 B" f& R
0 j, N" z/ v* F/ C9 H9 K* F; M1 x0 s ?每個(gè)節(jié)點(diǎn)還通過(guò)單獨(dú)的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個(gè)方向提供25 GB/s(總共200 GB/s)的節(jié)點(diǎn)間通信。
8 Y- f! v" M8 z. ]" ]+ f! n3 s7 n: A3 ?9 p3 Q' E
內(nèi)存層次結(jié)構(gòu)和NUMA* J6 `; J; I4 q1 I5 E, @ s5 i
Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(wèn)(NUMA)特性。
- a y4 d) A! g" m e. y. u每個(gè)GH200由兩個(gè)NUMA節(jié)點(diǎn)組成:與Grace親和的LPDDR5內(nèi)存與Hopper親和的HBM3內(nèi)存( j5 l9 U& F6 P. u; }; x
[/ol]
& ?/ B9 C, z' z' _0 W( x1 Z總的來(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)。2 ]4 {& L# w' n2 Z6 O
2 a$ a) T+ P. `- K* n理解數(shù)據(jù)路徑5 K9 a- n0 `3 @, _: x @
為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來(lái)看看讀取、寫入和復(fù)制操作:& g) b9 `0 f/ @& r
lbyf5202vbv640131845545.png (490.68 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
lbyf5202vbv640131845545.png
昨天 01:04 上傳
$ A" A7 o' p# \) [, I圖2:Hopper操作的數(shù)據(jù)路徑
4 R+ v% K! g U5 o; W
) o1 X, @- y$ ^2 g/ S/ |圖2說(shuō)明了Hopper GPU執(zhí)行的讀取、寫入和復(fù)制操作的數(shù)據(jù)路徑。
/ h X$ _6 ^, \7 N/ c: e9 b注意:
$ P- m$ j5 a; q: l* p本地HBM訪問(wèn)具有最短的路徑和最高的帶寬(4000 GB/s)跨C2C互連的操作限制在450 GB/s復(fù)制操作可能需要多次互連遍歷,影響可達(dá)到的帶寬
2 `) k1 P8 L L6 `8 ^' F
# D' v; x2 K: f; T& m2 U3 T3 y內(nèi)存操作基準(zhǔn)測(cè)試( c5 B3 F% [' T3 y/ F" ~( e( G# m
為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準(zhǔn)測(cè)試的結(jié)果:
; m# @8 H0 h+ Z% a1. 讀取和寫入操作:3 B' @; J! a* ^$ ]( k9 {
zn3tj0za4tf640131845646.png (153.05 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
zn3tj0za4tf640131845646.png
昨天 01:04 上傳
' w+ _2 p. {# W; B% o. y圖3:讀取和寫入吞吐量
( z- H& I5 i& T' s
% G0 X8 l# G4 H: m4 ^% k( `圖3顯示了Grace和Hopper在不同類型內(nèi)存上進(jìn)行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負(fù)載下的情況。3 u) T! _- A( Z) \ n7 m
主要觀察:
) D) G+ \1 [" n0 IHopper通常在本地內(nèi)存訪問(wèn)時(shí)更好地利用C2C互連跨越C2C和NVLink的操作會(huì)產(chǎn)生顯著開銷在負(fù)載下,對(duì)HBM的寫入受影響最大,特別是對(duì)Grace而言! f' h) e2 \! C* H! u1 ]
& U" C& U6 n$ v' k _$ o* ?
2. 復(fù)制操作:
; w$ q0 B5 n. h
lhmh55x401p640131845746.png (120.02 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
lhmh55x401p640131845746.png
昨天 01:04 上傳
+ ~5 l( r# r* j
圖4:復(fù)制吞吐量
$ p) N7 Y8 S7 `! D( Z0 C& l
5 O2 J2 W d# y7 c. x1 O2 P圖4說(shuō)明了Grace和Hopper在不同源和目標(biāo)內(nèi)存類型之間進(jìn)行復(fù)制操作的吞吐量。, t* t% q- C: Y3 N% f/ p
值得注意的發(fā)現(xiàn):8 x) p: M( ~1 B& a) V6 r
內(nèi)存?zhèn)鬏敶嬖诓粚?duì)稱性(例如,Grace在從本地內(nèi)存復(fù)制到對(duì)等GH200時(shí)達(dá)到更高的吞吐量)Hopper在跨越多個(gè)互連時(shí)通常能更有效地利用可用帶寬" w! t& w/ Y. I
' q [# ] ^7 q. B6 k: i9 e
3. 延遲:6 J/ `! |3 d. h; C6 t
2bha1dosrmk640131845846.png (75.84 KB, 下載次數(shù): 2)
下載附件
保存到相冊(cè)
2bha1dosrmk640131845846.png
昨天 01:04 上傳
/ | h7 k' e* y3 h' e
圖5:主內(nèi)存訪問(wèn)延遲
8 f% P" V h( ?8 g4 F) c4 L" g0 x- R$ ^ ~, H" p- a
圖5顯示了Grace和Hopper的主內(nèi)存訪問(wèn)延遲。有趣的是,跨越C2C互連的訪問(wèn)(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。9 Q/ P/ t" t. g5 }: I5 P" B
1 U/ t2 @/ s3 K* _% o9 v優(yōu)化應(yīng)用程序
" g: D( Q4 z3 L S/ D' ?, [理解這些性能特征對(duì)于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來(lái)看一些示例工作負(fù)載及其基于內(nèi)存放置的性能: G7 I- v- ?( c6 H! A
1. GEMM(通用矩陣乘法):
( h- f# `( S, t$ u+ k
xwra2nee20t640131845946.png (141.24 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
xwra2nee20t640131845946.png
昨天 01:04 上傳
/ G2 |7 B: h9 m3 [$ \( i U9 h
圖6:GEMM性能
& \* ?2 X: @6 L
: W; k+ i8 V2 K" U圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點(diǎn):
4 e" ]* o" K' i3 |2 NHBM放置對(duì)于最佳性能至關(guān)重要,特別是對(duì)于使用Tensor Cores的數(shù)據(jù)類型即使將一個(gè)矩陣移出HBM也可能顯著影響性能% ?; @/ q# V0 B' [
, c) }' Z7 p% J: v* A2. LLM(大型語(yǔ)言模型)推理:2 A9 E3 H% ~& m9 U- M; `" E6 Q( T( m
20014rdhvzh640131846046.png (60.41 KB, 下載次數(shù): 2)
下載附件
保存到相冊(cè)
20014rdhvzh640131846046.png
昨天 01:04 上傳
) Z o- W( b# T3 }( F
圖7:LLM推理時(shí)間
7 A. f X0 ~, U% y8 `& L& U. z' E6 V9 w6 z% Q
圖7顯示了不同模型和內(nèi)存分配的LLM推理時(shí)間。觀察結(jié)果:; D/ i7 m3 \; Q8 O. B' t( i! J4 }5 Y
內(nèi)存訪問(wèn)速度對(duì)吞吐量起著根本作用HBM分配提供最佳性能,而對(duì)等內(nèi)存訪問(wèn)顯著影響推理時(shí)間, Z; B# l$ S5 V
" u# v9 x' x ]! k3. NCCL(NVIDIA集體通信庫(kù))操作:) J+ T. {6 N, O; d0 {
wtcar1tazwv640131846146.png (98.46 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
wtcar1tazwv640131846146.png
昨天 01:04 上傳
) w+ h, S# l+ B9 M6 [4 ^& n圖8:NCCL All Reduce和All Gather性能, V7 ?$ P& \" L! ] {
7 p4 {3 m! N. o圖8說(shuō)明了節(jié)點(diǎn)內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點(diǎn):# l0 t. E q% d% a
超級(jí)芯片局部性比使用的內(nèi)存類型更重要同一GH200內(nèi)存大大優(yōu)于對(duì)等訪問(wèn)
0 O! [7 w. J. k( `( c9 O% ?" Z% R
. z! z2 m4 y* x0 H4 \. M- ~' U最佳實(shí)踐和建議# W k: p: R" M8 |1 n7 Q! X
基于從這些基準(zhǔn)測(cè)試和應(yīng)用程序示例中獲得的見解,以下是在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ù)放置。
* L. w. R2 Z/ k! ?/ J, |[/ol]
" u" E( `3 P" G2 T7 l, o- q/ r結(jié)論
9 R% ^$ _% y& x+ j4 b0 MQuad GH200節(jié)點(diǎn)為HPC和AI工作負(fù)載提供了強(qiáng)大的計(jì)算能力和內(nè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)用程序的效率。
' Y: x* a* a; X+ J# p
) N( C" _5 N6 B; S6 o+ \6 g參考文獻(xiàn)
2 L: W! z. ^* D$ W9 a+ V[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.
8 p9 w3 r* u8 A
8 [4 s; ]9 } r0 G0 x8 z3 H* ^4 {% {END
' L5 V" s1 \3 @" A: B4 R! D' i$ K4 M2 }5 _ \, q1 J' h$ o+ p% y) {7 u/ H
/ s( ^% Z/ ~$ Q \' E, o* u4 I, L
軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無(wú)論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。
, d+ ?5 t/ G/ P* {) C9 K U點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)
2 E3 J) j1 m5 B
( w8 O% I' Q# `/ d# c歡迎轉(zhuǎn)載
4 I7 j4 @' R9 j5 D" ]) S4 t: o8 \" s# a; s' n3 D0 {
轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!
$ o/ s' [. H$ V c/ S& [0 N& s# y, N3 ]* e8 L
3 {4 g; L% ?) V! h; e
3 j8 G' E' ^7 g5 s! ]
dwno3zivgzi640131846246.gif (16.04 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
dwno3zivgzi640131846246.gif
昨天 01:04 上傳
, ?; q! d% i/ \$ k" u; t
" h0 T# R5 N2 l- J% T+ q關(guān)注我們
/ I( H' R/ u" z, i* K" |) u! u, b
, U! E; Z/ i0 v9 P5 q0 N Q! \
4rylqec5bdo640131846346.png (31.33 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
4rylqec5bdo640131846346.png
昨天 01:04 上傳
6 K1 \' V6 Y3 M V( W' w | 2 U R; s0 L7 @
dmhmyzw3c0v640131846446.png (82.79 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
dmhmyzw3c0v640131846446.png
昨天 01:04 上傳
. o% |" ~- K \: S3 t' G4 i" W |
/ v( J/ c% n7 X) w5 W" B }7 Q
vjb0ch5fihn640131846546.png (21.52 KB, 下載次數(shù): 2)
下載附件
保存到相冊(cè)
vjb0ch5fihn640131846546.png
昨天 01:04 上傳
- c) j& l4 @+ w8 k( d& R |
/ W3 l: n7 ~+ ]+ l1 x, o
5 D# }1 `3 j' s# r$ e3 O. u( W+ J$ Z4 A" ~$ M8 D. H' H
+ |* P& S5 B: X" ~6 C# p關(guān)于我們:
, d6 u: n. o E/ y( r深圳逍遙科技有限公司(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ù)。+ E# V' i+ T- i+ \7 N l
* z5 h. [# ]: Z/ O# Whttp://www.latitudeda.com/
3 C" f1 Z& s- n: f; Y(點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容) |
|