|
引言
: V3 W: c5 V+ a% `" @高性能計算(HPC)和人工智能(AI)領域因異構系統(tǒng)而發(fā)生了巨大變革,特別是那些集成了GPU的系統(tǒng)。隨著工作負載越來越受內(nèi)存限制,優(yōu)化系統(tǒng)內(nèi)部的通信延遲和帶寬變得極為重要。NVIDIA Grace Hopper超級芯片(GH200)代表了緊密耦合異構系統(tǒng)的重大進步,提供了統(tǒng)一的地址空間和對系統(tǒng)所有主內(nèi)存的透明細粒度訪問。
9 j0 |* ?% _8 K( U" q# V8 z. ]; ]& F v7 q$ O; u% i4 U2 E: q7 B, R
本文將探討Quad GH200節(jié)點的架構(這是瑞士國家超級計算中心Alps超級計算機的基本構建塊),并提供有關如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。+ d+ R9 c/ N4 i; _( H) F+ V* ]; K
etd2yxyhk1r640131845344.png (268.61 KB, 下載次數(shù): 13)
下載附件
保存到相冊
etd2yxyhk1r640131845344.png
7 天前 上傳
( j7 P L2 n) Q; o4 j5 a3 @, ]
f+ v k! q* w" z5 q架構概述0 B2 D' ?' J8 T- y
Quad GH200節(jié)點由四個GH200超級芯片組成,每個超級芯片結合了一個Grace CPU和一個Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關鍵組件:6 [+ ` I% U: F
dn4vw1s5zfv640131845445.png (558.67 KB, 下載次數(shù): 13)
下載附件
保存到相冊
dn4vw1s5zfv640131845445.png
7 天前 上傳
* P2 L6 p$ e4 t: Q& O, L- ^: d# Q
圖1:Quad GH200節(jié)點的架構
5 y1 o1 }8 w/ k& f z& Y" d4 G% P
8 t9 j; p- e; @/ ~1 }如圖1所示,每個GH200超級芯片具有以下特點:! ?# p) x+ ^3 L* ~
一個Grace CPU,有72個Arm Neoverse V2核心一個Hopper GPU,有132個流式多處理器(SMs)96GB的HBM3內(nèi)存(4000 GB/s帶寬)128GB的LPDDR5內(nèi)存(500 GB/s帶寬); Z8 g- [" P( I# ]8 y* ]* n8 u
6 ~, b: Z. ~0 qGH200單元通過以下方式互連: M- U6 Y( h7 s
NVLink:每個方向150 GB/s(總共900 GB/s)Grace互連:每個方向150 GB/sNVLink-C2C(C2C):每個方向450 GB/s(總共900 GB/s)+ I* f7 S2 T% m/ v" E
; N; U M% S% ~, w( [9 o每個節(jié)點還通過單獨的網(wǎng)絡接口卡連接到Slingshot網(wǎng)絡,每個方向提供25 GB/s(總共200 GB/s)的節(jié)點間通信。- C9 D( s: D o3 @; @% g
6 g. \" ~& W8 T: V# B: s內(nèi)存層次結構和NUMA i2 V6 G2 X- P3 X8 S. N& @* O
Quad GH200系統(tǒng)呈現(xiàn)出復雜的內(nèi)存層次結構,具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。
/ t- }. p4 B5 I+ b0 \1 ]每個GH200由兩個NUMA節(jié)點組成:與Grace親和的LPDDR5內(nèi)存與Hopper親和的HBM3內(nèi)存
7 Z/ V) {8 @, D6 y[/ol]& H5 k: o6 J4 l) L
總的來說,一個Quad GH200節(jié)點有八個NUMA節(jié)點,四個與Grace CPU相關(NUMA 0-3),四個與Hopper GPU相關(NUMA 4, 12, 20, 28)。
) R! A; c+ k$ y" s4 b
# }/ z9 m) r) w1 E. [% Y& T理解數(shù)據(jù)路徑9 C6 [3 @) f! ?6 }8 e+ y
為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復制操作:
. E1 B" b5 F* ~
lbyf5202vbv640131845545.png (490.68 KB, 下載次數(shù): 11)
下載附件
保存到相冊
lbyf5202vbv640131845545.png
7 天前 上傳
$ P' p' M- K3 W$ F- z+ B9 v0 y9 R
圖2:Hopper操作的數(shù)據(jù)路徑; l* P# f3 E: G. ]- h- U
5 Y) x4 ?* {' [& B9 `5 ^圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復制操作的數(shù)據(jù)路徑。
1 o! X# _0 S I5 L& ^4 h注意:2 N' x! X p2 M
本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)跨C2C互連的操作限制在450 GB/s復制操作可能需要多次互連遍歷,影響可達到的帶寬
3 K. Z/ \" }+ I0 a9 ~& i
8 a" n4 I, d0 ~+ H內(nèi)存操作基準測試$ O& u) U+ H& }6 a
為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準測試的結果:
1 f4 x9 b) n; V1. 讀取和寫入操作:
1 u2 |( P- l* D$ a0 R. P3 B& C/ a
zn3tj0za4tf640131845646.png (153.05 KB, 下載次數(shù): 12)
下載附件
保存到相冊
zn3tj0za4tf640131845646.png
7 天前 上傳
: u& P7 L5 C/ ~9 r
圖3:讀取和寫入吞吐量* Q# v' \* F6 x0 s9 O; |: B0 p6 @
% Z# r5 w: q! e* `/ _0 H
圖3顯示了Grace和Hopper在不同類型內(nèi)存上進行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負載下的情況。
) s- @" m7 o' `4 f1 `4 ]1 f主要觀察: v+ y: i# x2 d* ^5 y! _, J
Hopper通常在本地內(nèi)存訪問時更好地利用C2C互連跨越C2C和NVLink的操作會產(chǎn)生顯著開銷在負載下,對HBM的寫入受影響最大,特別是對Grace而言
) F6 v/ z: e, `% m& m- n6 a1 q4 R
2. 復制操作:
5 f7 M* `, F5 V7 {+ w
lhmh55x401p640131845746.png (120.02 KB, 下載次數(shù): 10)
下載附件
保存到相冊
lhmh55x401p640131845746.png
7 天前 上傳
# m! B- K, E- \$ a5 G圖4:復制吞吐量
1 I. X8 o$ v* l7 b; x+ y3 U$ N; ` a3 L
圖4說明了Grace和Hopper在不同源和目標內(nèi)存類型之間進行復制操作的吞吐量。" A) v. ^1 c5 i2 r4 E# O
值得注意的發(fā)現(xiàn):
0 P2 e0 g6 q7 W; k7 e+ f0 a內(nèi)存?zhèn)鬏敶嬖诓粚ΨQ性(例如,Grace在從本地內(nèi)存復制到對等GH200時達到更高的吞吐量)Hopper在跨越多個互連時通常能更有效地利用可用帶寬& G/ A3 F9 b6 Y; @
/ {- f# A- {5 o
3. 延遲:
0 t4 n3 {* ^, s3 L& {
2bha1dosrmk640131845846.png (75.84 KB, 下載次數(shù): 13)
下載附件
保存到相冊
2bha1dosrmk640131845846.png
7 天前 上傳
' m0 [# d. J. S7 ?. H- S# Z j# `1 S, u$ \圖5:主內(nèi)存訪問延遲6 s' M- c* M. \5 I# b. d
2 ~& C+ ]$ }0 e4 s5 X2 W圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。( h4 G" Y# D: }4 \$ k
`4 J. `: D; W5 H5 v優(yōu)化應用程序- r- F' o, R# Y! N$ E2 B# s
理解這些性能特征對于在Quad GH200系統(tǒng)上優(yōu)化應用程序非常重要。讓我們來看一些示例工作負載及其基于內(nèi)存放置的性能:
+ K# t& L1 a- Y1. GEMM(通用矩陣乘法):! F- ~- Z8 H1 D3 x$ H3 p: Y
xwra2nee20t640131845946.png (141.24 KB, 下載次數(shù): 12)
下載附件
保存到相冊
xwra2nee20t640131845946.png
7 天前 上傳
/ f) t& K( c2 C% g1 v
圖6:GEMM性能+ G+ T! n f5 V+ m, d3 W/ J
, d, x$ S+ F+ A O. ~5 Z. |0 T
圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點:
1 v1 [1 |9 Q# GHBM放置對于最佳性能至關重要,特別是對于使用Tensor Cores的數(shù)據(jù)類型即使將一個矩陣移出HBM也可能顯著影響性能
0 b1 I& f- x0 v& w0 {# W2 T% s4 R6 i9 ]0 y. n
2. LLM(大型語言模型)推理:" H( ?8 ^) D: |( e
20014rdhvzh640131846046.png (60.41 KB, 下載次數(shù): 11)
下載附件
保存到相冊
20014rdhvzh640131846046.png
7 天前 上傳
6 O2 Z4 T* H! L: ^8 q! d$ W圖7:LLM推理時間
- _# r ]# l T+ J# G, u! p, x# o7 g. k; V A
圖7顯示了不同模型和內(nèi)存分配的LLM推理時間。觀察結果:
1 l! E# ]/ @+ v$ ^6 F9 V7 ^- x內(nèi)存訪問速度對吞吐量起著根本作用HBM分配提供最佳性能,而對等內(nèi)存訪問顯著影響推理時間
! `( \6 p' z d2 A: [1 R) m5 i; q/ g
3. NCCL(NVIDIA集體通信庫)操作:3 ?( p5 P/ ?* [! _8 o) I" ^+ Q
wtcar1tazwv640131846146.png (98.46 KB, 下載次數(shù): 12)
下載附件
保存到相冊
wtcar1tazwv640131846146.png
7 天前 上傳
8 s, \- W7 `4 W
圖8:NCCL All Reduce和All Gather性能
% O& }$ i0 l& [
5 Q7 F' x+ g& U& g* [; o/ I+ k圖8說明了節(jié)點內(nèi)All Reduce和All Gather操作的性能。關鍵點:
* j; @5 s8 v( x3 D超級芯片局部性比使用的內(nèi)存類型更重要同一GH200內(nèi)存大大優(yōu)于對等訪問
$ r$ Z- h# y* o2 I
% e5 X- E% |& g% q$ V最佳實踐和建議
' M: M; _1 ^; s- n: B# J2 |0 A基于從這些基準測試和應用程序示例中獲得的見解,以下是在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ù)放置。2 U: w; ~% O9 y
[/ol]' U9 }9 R. h9 O5 }: |2 T! N
結論
) L* ?% v3 R4 ]& h9 [Quad GH200節(jié)點為HPC和AI工作負載提供了強大的計算能力和內(nèi)存帶寬。然而,要充分利用其潛力,開發(fā)人員必須理解其復雜的內(nèi)存層次結構并相應地優(yōu)化數(shù)據(jù)放置。通過遵循本文概述的最佳實踐并仔細考慮不同內(nèi)存操作的性能特征,可以顯著提高在這一先進異構系統(tǒng)上應用程序的效率。" Z% [6 `! M" {& S' @4 ]' X
8 D% a( W! b) d0 k9 l3 f參考文獻/ z( j2 }, X- C3 E1 S# J/ r; x ~, E
[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.
~/ I7 R. M7 O9 F$ t& t* c
3 ~# y3 w' P1 M" r `8 y" cEND
) }3 ?8 @( t. S: n" |. \0 |/ h( Y. K$ E$ B" ~4 \
K7 X; h6 L# _9 S: ]$ @: v3 |
軟件申請我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請體驗免費版PIC Studio軟件。無論是研究還是商業(yè)應用,PIC Studio都可提升您的工作效能。+ v' ~ r& q0 W- p9 _
點擊左下角"閱讀原文"馬上申請9 I* m! }8 p* E
0 U/ ?5 y9 J7 [% G1 \
歡迎轉(zhuǎn)載+ T2 r1 L- O j
$ q, z3 G) X* X, G* M" @8 @9 J8 p轉(zhuǎn)載請注明出處,請勿修改內(nèi)容和刪除作者信息!
# B: e' l& T+ P+ ?5 o) G9 c
8 s9 v) N- h6 R6 {
$ k v0 v/ |! Q/ s/ c$ ^$ z
9 {6 _$ b0 f! P2 Y% k' n
dwno3zivgzi640131846246.gif (16.04 KB, 下載次數(shù): 11)
下載附件
保存到相冊
dwno3zivgzi640131846246.gif
7 天前 上傳
$ |# ~% I' E( O7 {7 P' h$ z! Q# h& \
" n) S0 q$ }! P7 K! G# ^$ c關注我們2 e# Z* `. {1 P8 p9 p
, J, D0 T/ a2 ?+ {# w) M/ J6 [
! [ z" G2 }. e( \
4rylqec5bdo640131846346.png (31.33 KB, 下載次數(shù): 11)
下載附件
保存到相冊
4rylqec5bdo640131846346.png
7 天前 上傳
2 @: I$ C- E% j% p/ o' H |
' J! L5 V0 S2 _$ K. G# b
dmhmyzw3c0v640131846446.png (82.79 KB, 下載次數(shù): 12)
下載附件
保存到相冊
dmhmyzw3c0v640131846446.png
7 天前 上傳
3 b' x2 N4 O9 v# H0 |# H( { |
7 J7 P2 L' H% a& N( z$ T
vjb0ch5fihn640131846546.png (21.52 KB, 下載次數(shù): 13)
下載附件
保存到相冊
vjb0ch5fihn640131846546.png
7 天前 上傳
) l( ]$ F- T, f8 R | * q8 { F4 L O1 Q
8 F8 d% X7 `7 d1 ~' ^6 Y
. N3 J# F* ^) g0 C" h, f
* ^5 W" Y8 D7 G8 b9 U關于我們:; l0 m5 J# L( G$ u1 Z5 u
深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導體芯片設計自動化(EDA)的高科技軟件公司。我們自主開發(fā)特色工藝芯片設計和仿真軟件,提供成熟的設計解決方案如PIC Studio、MEMS Studio和Meta Studio,分別針對光電芯片、微機電系統(tǒng)、超透鏡的設計與仿真。我們提供特色工藝的半導體芯片集成電路版圖、IP和PDK工程服務,廣泛服務于光通訊、光計算、光量子通信和微納光子器件領域的頭部客戶。逍遙科技與國內(nèi)外晶圓代工廠及硅光/MEMS中試線合作,推動特色工藝半導體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶提供前沿技術與服務。; ^7 T2 }5 U) {( [2 g" W% m
8 o" d; C, D4 ^& D i. v: I
http://www.latitudeda.com/
} i* Y8 h3 [" f; m, t(點擊上方名片關注我們,發(fā)現(xiàn)更多精彩內(nèi)容) |
|