|
引言
6 N2 m+ P0 ]" n4 C高性能計算(HPC)和人工智能(AI)領域因異構(gòu)系統(tǒng)而發(fā)生了巨大變革,特別是那些集成了GPU的系統(tǒng)。隨著工作負載越來越受內(nèi)存限制,優(yōu)化系統(tǒng)內(nèi)部的通信延遲和帶寬變得極為重要。NVIDIA Grace Hopper超級芯片(GH200)代表了緊密耦合異構(gòu)系統(tǒng)的重大進步,提供了統(tǒng)一的地址空間和對系統(tǒng)所有主內(nèi)存的透明細粒度訪問。% B( _' r: _8 m1 B9 y
0 ]* y0 ^6 `% k% s% @5 j2 d本文將探討Quad GH200節(jié)點的架構(gòu)(這是瑞士國家超級計算中心Alps超級計算機的基本構(gòu)建塊),并提供有關如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。
" Q5 ~! O! C- J8 {
etd2yxyhk1r640131845344.png (268.61 KB, 下載次數(shù): 6)
下載附件
保存到相冊
etd2yxyhk1r640131845344.png
前天 01:04 上傳
/ d, P" Z6 S7 d' h
: p' F8 a' ^9 K7 z$ {
架構(gòu)概述. Q3 s4 i, R: D6 A: o0 L, L
Quad GH200節(jié)點由四個GH200超級芯片組成,每個超級芯片結(jié)合了一個Grace CPU和一個Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關鍵組件:
' L; }( e& n/ Q$ i0 I. k
dn4vw1s5zfv640131845445.png (558.67 KB, 下載次數(shù): 6)
下載附件
保存到相冊
dn4vw1s5zfv640131845445.png
前天 01:04 上傳
* q& E2 B T! L. t. H圖1:Quad GH200節(jié)點的架構(gòu)6 d# {& z, b& ]1 p5 Z0 ^9 Z( v
/ O: v$ h$ D! b* ]
如圖1所示,每個GH200超級芯片具有以下特點:: c: j- N! {# S. p: w
一個Grace CPU,有72個Arm Neoverse V2核心一個Hopper GPU,有132個流式多處理器(SMs)96GB的HBM3內(nèi)存(4000 GB/s帶寬)128GB的LPDDR5內(nèi)存(500 GB/s帶寬)
# x {6 ~) ?# A4 u
. M& p z' O+ g" nGH200單元通過以下方式互連:! n8 Y5 E; C" |9 x) e
NVLink:每個方向150 GB/s(總共900 GB/s)Grace互連:每個方向150 GB/sNVLink-C2C(C2C):每個方向450 GB/s(總共900 GB/s)- U4 P y+ S5 v% p3 @8 C! K; ?& q! J
4 s" p4 J9 |8 F4 i" h, Z* m每個節(jié)點還通過單獨的網(wǎng)絡接口卡連接到Slingshot網(wǎng)絡,每個方向提供25 GB/s(總共200 GB/s)的節(jié)點間通信。
) B- p) w! w5 X0 S$ Y
9 `2 i) D; b9 \. l0 z" `, Q內(nèi)存層次結(jié)構(gòu)和NUMA2 L! m* J7 v' ~' A( w% e) L
Quad GH200系統(tǒng)呈現(xiàn)出復雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。0 Q" M8 u9 @: a# [
每個GH200由兩個NUMA節(jié)點組成:與Grace親和的LPDDR5內(nèi)存與Hopper親和的HBM3內(nèi)存, a# N8 m9 S1 Q! ^
[/ol]
. `6 a: T) C5 Q) n, d總的來說,一個Quad GH200節(jié)點有八個NUMA節(jié)點,四個與Grace CPU相關(NUMA 0-3),四個與Hopper GPU相關(NUMA 4, 12, 20, 28)。
4 L1 A: t5 J# f* j$ [
# N9 J i. l B% ^& M理解數(shù)據(jù)路徑
+ J$ O2 @6 l# _$ q為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復制操作:% C' m5 V( {% S/ f+ \
lbyf5202vbv640131845545.png (490.68 KB, 下載次數(shù): 5)
下載附件
保存到相冊
lbyf5202vbv640131845545.png
前天 01:04 上傳
, a$ b, r5 {. O- S* u L圖2:Hopper操作的數(shù)據(jù)路徑
& Z' M6 j. Y8 H) n4 ^9 I0 j: H; S, d: @' I8 N" p: W% m
圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復制操作的數(shù)據(jù)路徑。
. b$ |% X( V Z! |$ f6 w注意:
0 C* l' z% A a% y% S; s; T本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)跨C2C互連的操作限制在450 GB/s復制操作可能需要多次互連遍歷,影響可達到的帶寬
) e& O% ?/ B |* R1 x! s- R2 T+ W$ x& F/ O: p- r
內(nèi)存操作基準測試
3 n; w/ x3 w* \8 k) Y0 A為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準測試的結(jié)果:9 L2 j& B* j8 ]8 \1 t' _: n K" G( R9 B
1. 讀取和寫入操作:! z& C8 S$ k* t8 z+ F1 Q
zn3tj0za4tf640131845646.png (153.05 KB, 下載次數(shù): 6)
下載附件
保存到相冊
zn3tj0za4tf640131845646.png
前天 01:04 上傳
& [. _. A5 b5 f' ?$ o' b圖3:讀取和寫入吞吐量+ n2 k7 \' M; y; p
& _; ]5 O8 A3 |9 T
圖3顯示了Grace和Hopper在不同類型內(nèi)存上進行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負載下的情況。
# \4 r& O9 _: M7 q4 z主要觀察:7 X' _! T% i' S* X( k
Hopper通常在本地內(nèi)存訪問時更好地利用C2C互連跨越C2C和NVLink的操作會產(chǎn)生顯著開銷在負載下,對HBM的寫入受影響最大,特別是對Grace而言# G6 Y( L+ w' y' ]
t/ y+ Z& F5 I& R0 {, f
2. 復制操作:- O5 f5 _3 M5 ], p" ^+ I2 e
lhmh55x401p640131845746.png (120.02 KB, 下載次數(shù): 3)
下載附件
保存到相冊
lhmh55x401p640131845746.png
前天 01:04 上傳
% c2 h! \5 r9 h& _0 O圖4:復制吞吐量
( h `7 b; ?5 S. |% i
' Z2 P; h- V, U/ j3 K! }$ O4 M圖4說明了Grace和Hopper在不同源和目標內(nèi)存類型之間進行復制操作的吞吐量。7 N& O9 c! u& V2 M# ^" Y3 p
值得注意的發(fā)現(xiàn):
9 {5 h) z( W8 E7 c8 Q Q內(nèi)存?zhèn)鬏敶嬖诓粚ΨQ性(例如,Grace在從本地內(nèi)存復制到對等GH200時達到更高的吞吐量)Hopper在跨越多個互連時通常能更有效地利用可用帶寬1 i" J$ n. {9 T' B
, Y l( a# u0 ~2 p8 [+ }* z4 L( U
3. 延遲:
6 q; Z7 `) S9 V; t
2bha1dosrmk640131845846.png (75.84 KB, 下載次數(shù): 6)
下載附件
保存到相冊
2bha1dosrmk640131845846.png
前天 01:04 上傳
4 d4 o. C2 u# U% J圖5:主內(nèi)存訪問延遲1 J0 i4 w- E y+ ^" N
+ j* e) m: z0 _3 v& N: B圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。# I8 [) H$ x% G2 N
9 o X% j V0 p) k. ^; Q優(yōu)化應用程序/ a2 p1 @: a% g
理解這些性能特征對于在Quad GH200系統(tǒng)上優(yōu)化應用程序非常重要。讓我們來看一些示例工作負載及其基于內(nèi)存放置的性能:4 U0 U+ J2 Z; X+ [, Z8 v- e
1. GEMM(通用矩陣乘法):6 o+ A1 X2 T. l. _( t1 _8 f
xwra2nee20t640131845946.png (141.24 KB, 下載次數(shù): 5)
下載附件
保存到相冊
xwra2nee20t640131845946.png
前天 01:04 上傳
4 f5 d5 O9 ~/ J4 T! S. P d" K
圖6:GEMM性能
$ G$ X: t* L! X: M" T3 D& g$ D: e3 b. i" d d
圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點:
1 }, n- R' @' p0 L" HHBM放置對于最佳性能至關重要,特別是對于使用Tensor Cores的數(shù)據(jù)類型即使將一個矩陣移出HBM也可能顯著影響性能
; x$ Y3 A, d1 a
, t3 r/ k( E0 F* P+ A$ H ]2. LLM(大型語言模型)推理:
$ l: S" g H$ q* z, z
20014rdhvzh640131846046.png (60.41 KB, 下載次數(shù): 6)
下載附件
保存到相冊
20014rdhvzh640131846046.png
前天 01:04 上傳
0 v$ D: F/ \, m! T圖7:LLM推理時間
+ l; F M' s: W4 @4 h
: `3 r. @' p) N; n圖7顯示了不同模型和內(nèi)存分配的LLM推理時間。觀察結(jié)果:. g2 _ w! S) B
內(nèi)存訪問速度對吞吐量起著根本作用HBM分配提供最佳性能,而對等內(nèi)存訪問顯著影響推理時間' ]/ t& ~' Y2 M2 c/ B
% l# y; F( R, o1 u3. NCCL(NVIDIA集體通信庫)操作:& _ n0 m( }0 j
wtcar1tazwv640131846146.png (98.46 KB, 下載次數(shù): 5)
下載附件
保存到相冊
wtcar1tazwv640131846146.png
前天 01:04 上傳
+ T& c8 F0 |: f% G( u" ~- K3 `* y圖8:NCCL All Reduce和All Gather性能; v/ c, P+ x- _
/ H. q \( y+ D x) y
圖8說明了節(jié)點內(nèi)All Reduce和All Gather操作的性能。關鍵點:
% P6 X; K& x8 w0 W超級芯片局部性比使用的內(nèi)存類型更重要同一GH200內(nèi)存大大優(yōu)于對等訪問
* ~5 d7 v7 J. {' z3 O% n* ^* Q' w, @. n2 w d/ Y8 Z$ ~1 v
最佳實踐和建議
; m* o4 Q" \; c8 W* x+ y基于從這些基準測試和應用程序示例中獲得的見解,以下是在Quad GH200系統(tǒng)上優(yōu)化內(nèi)存操作的一些最佳實踐:優(yōu)先使用HBM:盡可能將性能關鍵數(shù)據(jù)放在本地HBM內(nèi)存中,特別是對于GPU密集型工作負載。最小化跨GH200訪問:盡量將數(shù)據(jù)保持在執(zhí)行計算的GH200單元本地,因為對等內(nèi)存訪問會導致顯著的性能損失。謹慎利用統(tǒng)一內(nèi)存:雖然統(tǒng)一內(nèi)存簡化了編程,但要注意與顯式內(nèi)存管理相比的性能特征。考慮內(nèi)存?zhèn)鬏數(shù)牟粚ΨQ性:在設計數(shù)據(jù)移動模式時,要考慮不同內(nèi)存類型之間復制操作的不對稱性。優(yōu)化集體操作:對于使用NCCL或類似庫的應用程序,專注于超級芯片局部性以最大化性能。分析和迭代:使用分析工具識別應用程序中的內(nèi)存訪問模式,并根據(jù)系統(tǒng)的性能特征迭代優(yōu)化數(shù)據(jù)放置。
: {% e3 B9 N" f e& |[/ol]
1 Z9 |( U0 D: _5 Z9 I0 C( R( J結(jié)論
, {: A4 k5 I$ G! a) YQuad GH200節(jié)點為HPC和AI工作負載提供了強大的計算能力和內(nèi)存帶寬。然而,要充分利用其潛力,開發(fā)人員必須理解其復雜的內(nèi)存層次結(jié)構(gòu)并相應地優(yōu)化數(shù)據(jù)放置。通過遵循本文概述的最佳實踐并仔細考慮不同內(nèi)存操作的性能特征,可以顯著提高在這一先進異構(gòu)系統(tǒng)上應用程序的效率。3 H* z9 [& R) @& R( m
9 C8 K* U/ h6 }! e+ w/ b- _參考文獻6 A1 E2 V4 [, a1 R" y
[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.
1 ~- _& c) h* \5 W, Y# E. U2 J" ~/ E/ ]" p- E! C
END
; V5 h- G5 F! l1 y# y
?, Y T: q( P6 P$ g
! {& \+ h& g. `軟件申請我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請體驗免費版PIC Studio軟件。無論是研究還是商業(yè)應用,PIC Studio都可提升您的工作效能。
8 ?7 e1 O c+ }" Z5 j* ^點擊左下角"閱讀原文"馬上申請
: l* f9 v7 ~! N
7 ?9 G, `5 V, Y8 d歡迎轉(zhuǎn)載
1 N9 z0 D" h$ O7 G" l- O: f4 U+ K5 c6 Q6 O
轉(zhuǎn)載請注明出處,請勿修改內(nèi)容和刪除作者信息!
6 z7 O: ^4 W* P# p8 i) y7 `# x/ I( j! y5 D# `( C$ J! M
5 y- n/ y7 U3 }: i) D7 `* L- U
# g4 @$ k( O# x) e
dwno3zivgzi640131846246.gif (16.04 KB, 下載次數(shù): 5)
下載附件
保存到相冊
dwno3zivgzi640131846246.gif
前天 01:04 上傳
( {; N% }7 u5 g" o: w! n+ D
. v2 B! T9 W+ a: u8 a9 ~7 b6 C關注我們0 q2 \5 n9 A+ m+ U6 h* y6 X
8 E; A" F3 X) m. o# i
/ @" S( V, B6 E; E
4rylqec5bdo640131846346.png (31.33 KB, 下載次數(shù): 5)
下載附件
保存到相冊
4rylqec5bdo640131846346.png
前天 01:04 上傳
. ?# g0 x( C t! m( x7 J |
1 {" E% H5 e. t% X
dmhmyzw3c0v640131846446.png (82.79 KB, 下載次數(shù): 6)
下載附件
保存到相冊
dmhmyzw3c0v640131846446.png
前天 01:04 上傳
: f! Y2 W6 H3 n( j, J
|
( D. c |2 q0 ?/ g- {' d, E- _0 E/ B( _
vjb0ch5fihn640131846546.png (21.52 KB, 下載次數(shù): 6)
下載附件
保存到相冊
vjb0ch5fihn640131846546.png
前天 01:04 上傳
( y6 R1 L* L7 o G/ @& _, b
|
6 f i4 q' m. s# @- C+ d& w/ b* p
, i" M9 I6 [! [8 ]! r9 h! v& L- Y( H- `
關于我們:8 E; e; y4 W4 z0 {5 a1 r4 S
深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導體芯片設計自動化(EDA)的高科技軟件公司。我們自主開發(fā)特色工藝芯片設計和仿真軟件,提供成熟的設計解決方案如PIC Studio、MEMS Studio和Meta Studio,分別針對光電芯片、微機電系統(tǒng)、超透鏡的設計與仿真。我們提供特色工藝的半導體芯片集成電路版圖、IP和PDK工程服務,廣泛服務于光通訊、光計算、光量子通信和微納光子器件領域的頭部客戶。逍遙科技與國內(nèi)外晶圓代工廠及硅光/MEMS中試線合作,推動特色工藝半導體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶提供前沿技術(shù)與服務。
' p/ \! h5 J: _& Q& ]+ U
6 y0 n6 t+ O( o- N% |8 @" qhttp://www.latitudeda.com/
: [1 e2 C0 g$ n8 Z3 v(點擊上方名片關注我們,發(fā)現(xiàn)更多精彩內(nèi)容) |
|