|
引言- j- d9 H/ E& i' z0 \% K+ d |
高性能計(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)。) P7 \5 `7 K1 S. K& g7 d
; ~( `" `, M+ x$ V- u本文將探討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]。
+ C4 v/ |4 u& O- z
etd2yxyhk1r640131845344.png (268.61 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
etd2yxyhk1r640131845344.png
昨天 01:04 上傳
5 z/ p4 k6 T4 C c/ R
* G5 v$ U# y8 Q! z5 g架構(gòu)概述% u3 X* u: y' W# N; U# m
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)鍵組件:1 s3 ] z9 o [
dn4vw1s5zfv640131845445.png (558.67 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
dn4vw1s5zfv640131845445.png
昨天 01:04 上傳
+ H4 s' \1 T, _) S) N. X圖1:Quad GH200節(jié)點(diǎn)的架構(gòu)
/ B8 f6 U5 w V8 i) S& j4 l* w7 Z! X% \& X
如圖1所示,每個(gè)GH200超級(jí)芯片具有以下特點(diǎn):
: @! ?" F1 |$ A; Y2 l8 R一個(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帶寬)
4 T$ d: j# x( D; f; C
2 p" W) e! |7 jGH200單元通過(guò)以下方式互連:
9 }& d2 i/ C7 M1 lNVLink:每個(gè)方向150 GB/s(總共900 GB/s)Grace互連:每個(gè)方向150 GB/sNVLink-C2C(C2C):每個(gè)方向450 GB/s(總共900 GB/s)1 K8 E# J/ l K3 W" C9 u4 G
1 s, F8 a7 Y6 x( R* {每個(gè)節(jié)點(diǎn)還通過(guò)單獨(dú)的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個(gè)方向提供25 GB/s(總共200 GB/s)的節(jié)點(diǎn)間通信。' o# _3 j0 e/ Z% E
p3 y& v9 ^* i/ P* H
內(nèi)存層次結(jié)構(gòu)和NUMA4 P9 ^' A# H9 \0 J- Q0 N
Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(wèn)(NUMA)特性。
: K5 E3 \) |" A: f: T+ Q7 z每個(gè)GH200由兩個(gè)NUMA節(jié)點(diǎn)組成:與Grace親和的LPDDR5內(nèi)存與Hopper親和的HBM3內(nèi)存5 e/ ~- k w n( s0 ]& b+ F# i/ j- h
[/ol]
% W% ?: s( P/ S/ x1 M總的來(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)。
* e4 z4 f }3 c' A5 t4 H2 O6 R) L5 ^& ] e" D/ \3 }
理解數(shù)據(jù)路徑4 d. |# `0 }, E% A
為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來(lái)看看讀取、寫入和復(fù)制操作:
4 n0 L% j# l$ Y, R. R
lbyf5202vbv640131845545.png (490.68 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
lbyf5202vbv640131845545.png
昨天 01:04 上傳
5 ]! i' P' c4 O- Q
圖2:Hopper操作的數(shù)據(jù)路徑. C3 I5 M+ b& H2 [ s( l3 y0 b
/ U) J& B5 c/ `2 {' G( }* s2 e圖2說(shuō)明了Hopper GPU執(zhí)行的讀取、寫入和復(fù)制操作的數(shù)據(jù)路徑。
9 P, f- A3 L7 g3 m5 O; [ C注意:
l- B) ]# J. U- y+ k( E本地HBM訪問(wèn)具有最短的路徑和最高的帶寬(4000 GB/s)跨C2C互連的操作限制在450 GB/s復(fù)制操作可能需要多次互連遍歷,影響可達(dá)到的帶寬6 K$ e( J" f2 F# p
% g' y! k2 e& Q; r D3 d. L. G" x
內(nèi)存操作基準(zhǔn)測(cè)試
* k6 u) M0 {" F0 b& A- ^為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準(zhǔn)測(cè)試的結(jié)果:
5 T1 C+ d1 B: B {. S. l- C1. 讀取和寫入操作:/ G* k' s2 I( I; P+ h
zn3tj0za4tf640131845646.png (153.05 KB, 下載次數(shù): 1)
下載附件
保存到相冊(cè)
zn3tj0za4tf640131845646.png
昨天 01:04 上傳
$ ?8 A6 {- ~7 j+ a* k8 O$ H
圖3:讀取和寫入吞吐量
8 }. c; J+ N: O2 C( q1 E+ X
" r" C$ U# b V" Z) l5 C圖3顯示了Grace和Hopper在不同類型內(nèi)存上進(jìn)行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負(fù)載下的情況。
4 H$ Z I: J# W9 C H8 T3 [主要觀察:' Q6 {1 K3 L9 L. T* [. Q3 Z! T
Hopper通常在本地內(nèi)存訪問(wèn)時(shí)更好地利用C2C互連跨越C2C和NVLink的操作會(huì)產(chǎn)生顯著開(kāi)銷在負(fù)載下,對(duì)HBM的寫入受影響最大,特別是對(duì)Grace而言2 {7 t0 u! |$ |9 e
! O5 ]+ n1 ?. y' h2 @2. 復(fù)制操作:
: {+ b( X: f! U
lhmh55x401p640131845746.png (120.02 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
lhmh55x401p640131845746.png
昨天 01:04 上傳
) L& d7 V# J N) r5 R; I4 ?圖4:復(fù)制吞吐量
# m! A, N+ Q8 \; n- N- z
! W1 a0 [4 P- X3 i9 O; y( {! n$ M圖4說(shuō)明了Grace和Hopper在不同源和目標(biāo)內(nèi)存類型之間進(jìn)行復(fù)制操作的吞吐量。: E2 H1 M$ T; G
值得注意的發(fā)現(xiàn):- B z& M$ ~& }, n5 S. V3 x
內(nèi)存?zhèn)鬏敶嬖诓粚?duì)稱性(例如,Grace在從本地內(nèi)存復(fù)制到對(duì)等GH200時(shí)達(dá)到更高的吞吐量)Hopper在跨越多個(gè)互連時(shí)通常能更有效地利用可用帶寬/ c: c' B2 w- W7 [0 H
% Z% X: E3 ~- o, H% B G# l$ h
3. 延遲:" F' d% P/ _7 N% I
2bha1dosrmk640131845846.png (75.84 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
2bha1dosrmk640131845846.png
昨天 01:04 上傳
* q: v/ G3 g; I+ e
圖5:主內(nèi)存訪問(wèn)延遲
$ h% ?# c; J# i3 z/ X: P+ X8 g' _9 U- l5 D$ p
圖5顯示了Grace和Hopper的主內(nèi)存訪問(wèn)延遲。有趣的是,跨越C2C互連的訪問(wèn)(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。7 d5 X& }% C$ u
5 k7 h S B0 S! S9 T! Z
優(yōu)化應(yīng)用程序1 P. a/ R y d+ y% {% `$ y" ~
理解這些性能特征對(duì)于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來(lái)看一些示例工作負(fù)載及其基于內(nèi)存放置的性能:
, ?) ?7 r! t. N# n9 U1. GEMM(通用矩陣乘法):
/ M( L s+ {, y6 l0 y2 l
xwra2nee20t640131845946.png (141.24 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
xwra2nee20t640131845946.png
昨天 01:04 上傳
4 u9 D2 G0 k* w圖6:GEMM性能
; K. q. z7 ~% K, ^! M4 U* ` T( S- A/ a
圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點(diǎn):
$ l, e- U; ^4 a1 Y# xHBM放置對(duì)于最佳性能至關(guān)重要,特別是對(duì)于使用Tensor Cores的數(shù)據(jù)類型即使將一個(gè)矩陣移出HBM也可能顯著影響性能4 o7 }4 {% W% y9 L% r
8 `4 [! u5 Q- @2. LLM(大型語(yǔ)言模型)推理:
/ `: R3 R |- \( w" g) P
20014rdhvzh640131846046.png (60.41 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
20014rdhvzh640131846046.png
昨天 01:04 上傳
% U& }; l, y3 A. }; S5 u圖7:LLM推理時(shí)間& A- ^3 T+ x; [* [- z
; f4 f7 ]5 o7 y7 j
圖7顯示了不同模型和內(nèi)存分配的LLM推理時(shí)間。觀察結(jié)果:
4 u+ B5 }& @$ ^* J. y內(nèi)存訪問(wèn)速度對(duì)吞吐量起著根本作用HBM分配提供最佳性能,而對(duì)等內(nèi)存訪問(wèn)顯著影響推理時(shí)間 }/ p% i" x. s. A i
( e' W8 t2 w4 n- h0 y3. NCCL(NVIDIA集體通信庫(kù))操作:
5 i% O6 _7 Q2 N; ?- m4 h" @; @
wtcar1tazwv640131846146.png (98.46 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
wtcar1tazwv640131846146.png
昨天 01:04 上傳
% m7 q' l: N9 G* c
圖8:NCCL All Reduce和All Gather性能
- R& D9 T1 b/ ^# j9 ?. e4 g2 r$ x: T! g; ]. A- ]
圖8說(shuō)明了節(jié)點(diǎn)內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點(diǎn):
6 ^/ q& f' T/ }9 J超級(jí)芯片局部性比使用的內(nèi)存類型更重要同一GH200內(nèi)存大大優(yōu)于對(duì)等訪問(wèn)
+ }% q( A. Q/ f/ c& @, ]( K1 m
& B+ {! c- _5 E6 r" n最佳實(shí)踐和建議. [8 G% d3 q5 ]2 O8 n( |1 \, L
基于從這些基準(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ù)放置。
: Q, p: b" k7 e! I& \3 t, P[/ol]
0 K( ^9 n4 V5 ^結(jié)論
3 n$ E$ I6 H' V$ TQuad 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)用程序的效率。; I' _, }0 R2 l$ J
) M, P% Y. q% b) ~參考文獻(xiàn)
+ X9 s3 P- x' ^- ~/ {) q[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.
+ @# K8 s2 l' g0 Z; d1 G: E/ m' V& u- f
END% \# S$ y7 J# o. n& W* L
- w2 w& e+ S1 K' U
D7 c! D2 S# I' d( Y軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無(wú)論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。* r) L% J3 H9 E7 j8 P; y9 c
點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)& I7 M" r" C# j/ }5 G* L9 I
8 X% d4 F3 f s1 ^1 X2 Q. _. y& d
歡迎轉(zhuǎn)載5 z p/ o: V) g5 ^7 x, Z
$ s' l! Z+ b6 O. M4 U
轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!- O: \+ N( ^$ ]% E$ a
, @- i0 I K! O. k" W6 P! G8 B0 P# N9 K
: f9 X7 b& f" a6 Y1 C0 [0 U: x. f# M
dwno3zivgzi640131846246.gif (16.04 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
dwno3zivgzi640131846246.gif
昨天 01:04 上傳
9 S. W# R1 G2 O- ~4 j2 b) P
5 I, z3 P" Q9 e7 V5 D: \7 q4 U) q5 n關(guān)注我們" | X- p, C _1 }. |) F9 H0 w; g
# R' q {5 S% t. E5 i; n: I( k2 X z0 c3 C6 [5 `6 V& h. P$ O
4rylqec5bdo640131846346.png (31.33 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
4rylqec5bdo640131846346.png
昨天 01:04 上傳
1 T9 E5 y8 Q. k8 }$ ^5 ]$ F
| , J- R3 u( W$ ~2 T% d) N
dmhmyzw3c0v640131846446.png (82.79 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
dmhmyzw3c0v640131846446.png
昨天 01:04 上傳
4 W0 l4 o7 |6 K( x6 b4 v6 L
|
) N8 [6 V% ~2 c# v+ Z, @, ]' w: `
vjb0ch5fihn640131846546.png (21.52 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
vjb0ch5fihn640131846546.png
昨天 01:04 上傳
/ c5 M9 }7 s0 V9 U# u- A1 {) t) g
|
" g Y5 H |8 e! M# z7 M8 C0 l c; B3 D0 G: t& t; D
4 r+ z- j. X5 L- @) M! |4 ?) F) q1 ~& Q/ G1 u2 l6 e! c; q
關(guān)于我們:7 f+ F k0 R W- M& t
深圳逍遙科技有限公司(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ù)。, Q1 }/ q# c9 }8 \5 r& g2 j6 U
& v9 R' ]9 ]7 p# Q5 chttp://www.latitudeda.com/
$ k. T7 O( \, D5 k/ i(點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容) |
|