|
引言6 [5 t+ V% \. B- A: V
高性能計(jì)算(HPC)和人工智能(AI)領(lǐng)域因異構(gòu)系統(tǒng)而發(fā)生了巨大變革,特別是那些集成了GPU的系統(tǒng)。隨著工作負(fù)載越來越受內(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ì)粒度訪問。+ x' f$ p$ g3 |( \6 e' o
5 e! [ q7 s7 c4 Q' P; @+ c. B本文將探討Quad GH200節(jié)點(diǎn)的架構(gòu)(這是瑞士國家超級(jí)計(jì)算中心Alps超級(jí)計(jì)算機(jī)的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。
% d0 A* v) g6 o) m, y1 A. R
etd2yxyhk1r640131845344.png (268.61 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
etd2yxyhk1r640131845344.png
前天 01:04 上傳
% R' ~! |+ S* i0 i
, N( b% D! D. n8 O5 ~! i* ]" S架構(gòu)概述
7 v/ m2 j( @/ k! rQuad GH200節(jié)點(diǎn)由四個(gè)GH200超級(jí)芯片組成,每個(gè)超級(jí)芯片結(jié)合了一個(gè)Grace CPU和一個(gè)Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關(guān)鍵組件:4 i+ s+ b0 A; E: E* X6 z' G) @
dn4vw1s5zfv640131845445.png (558.67 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
dn4vw1s5zfv640131845445.png
前天 01:04 上傳
2 \9 j! ?1 g, L. M6 n, @' U
圖1:Quad GH200節(jié)點(diǎn)的架構(gòu)0 q. b+ {- s$ Z- i0 ?" w4 Q9 ~
$ p$ Z; h, R2 s+ ~8 x& D
如圖1所示,每個(gè)GH200超級(jí)芯片具有以下特點(diǎn):9 e# b9 r! J4 y. |: Q. s
一個(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帶寬)6 e: b$ `% }% z$ j
& v" C& D- i& Z; F3 [1 }' b9 C. x: |3 tGH200單元通過以下方式互連:
- s) R; {9 J( oNVLink:每個(gè)方向150 GB/s(總共900 GB/s)Grace互連:每個(gè)方向150 GB/sNVLink-C2C(C2C):每個(gè)方向450 GB/s(總共900 GB/s)0 P. Y+ F1 |3 Q1 a+ t
9 f+ ^9 l' h: Q
每個(gè)節(jié)點(diǎn)還通過單獨(dú)的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個(gè)方向提供25 GB/s(總共200 GB/s)的節(jié)點(diǎn)間通信。
4 _0 D8 w5 J! ^, M# g5 u
* w, u- T& [+ d7 j0 N4 o內(nèi)存層次結(jié)構(gòu)和NUMA
+ Z& e' H @3 ~" X8 }4 ~Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。
/ ]3 n. w/ Q; O! K: W: ~; W. D每個(gè)GH200由兩個(gè)NUMA節(jié)點(diǎn)組成:與Grace親和的LPDDR5內(nèi)存與Hopper親和的HBM3內(nèi)存7 ?& }$ z0 e1 D8 Z
[/ol]
) m0 Z( h* i! H/ B6 t7 R總的來說,一個(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)。
, z& D! x$ b: o( x
9 p H( c$ R2 |* i理解數(shù)據(jù)路徑7 K7 ~, \. Y3 q9 f2 R+ O3 F
為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復(fù)制操作:
" |" O& h. K" W# ]/ N. @5 z0 S
lbyf5202vbv640131845545.png (490.68 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
lbyf5202vbv640131845545.png
前天 01:04 上傳
6 \; `2 K V' S: A圖2:Hopper操作的數(shù)據(jù)路徑
& F# Y& G3 h; W( a5 M; l5 H/ k3 r9 m; ?0 ?4 v" ~( I
圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復(fù)制操作的數(shù)據(jù)路徑。% V1 H, ~4 k* o& Q5 [
注意:; R3 l8 n1 o7 d/ |7 m9 K) G( E( q
本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)跨C2C互連的操作限制在450 GB/s復(fù)制操作可能需要多次互連遍歷,影響可達(dá)到的帶寬
/ ~5 h! ?; \# [9 n& F! n
4 X$ _5 h; j m. j3 v5 _內(nèi)存操作基準(zhǔn)測(cè)試
. ]2 k& L8 K2 W8 |# y7 `為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準(zhǔn)測(cè)試的結(jié)果:$ q4 s- U d$ y% p9 N
1. 讀取和寫入操作:
: O0 }! o2 Y9 F. Y; G; g: t& Q. g; X- K
zn3tj0za4tf640131845646.png (153.05 KB, 下載次數(shù): 7)
下載附件
保存到相冊(cè)
zn3tj0za4tf640131845646.png
前天 01:04 上傳
( I E6 F b x6 `$ p( N8 X, D6 S
圖3:讀取和寫入吞吐量0 X0 g; Q; X0 k. E1 w
' f* L! W9 c2 g' K3 Z; I& v圖3顯示了Grace和Hopper在不同類型內(nèi)存上進(jìn)行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負(fù)載下的情況。
$ ^' t. J1 g/ t8 q4 u主要觀察:) r/ W# v8 U1 }( r4 I. Y
Hopper通常在本地內(nèi)存訪問時(shí)更好地利用C2C互連跨越C2C和NVLink的操作會(huì)產(chǎn)生顯著開銷在負(fù)載下,對(duì)HBM的寫入受影響最大,特別是對(duì)Grace而言
( V( j. N* j+ a! O" _9 A) ^. v
: s; S7 l4 [5 I# Z; I6 Z! L2. 復(fù)制操作:7 |2 i5 ?+ p* `: u! w0 d' _
lhmh55x401p640131845746.png (120.02 KB, 下載次數(shù): 4)
下載附件
保存到相冊(cè)
lhmh55x401p640131845746.png
前天 01:04 上傳
3 w/ V2 }) d4 Y* O% ^) M
圖4:復(fù)制吞吐量
, V2 a1 q$ q# q1 [4 N% k A, f3 I& {* [4 E: E' q( @! r r$ \& }% a
圖4說明了Grace和Hopper在不同源和目標(biāo)內(nèi)存類型之間進(jìn)行復(fù)制操作的吞吐量。+ R; S% ?3 z/ C' ~7 Z
值得注意的發(fā)現(xiàn):( I9 F) q0 X# I4 p6 i8 B2 r5 ?+ C6 A
內(nèi)存?zhèn)鬏敶嬖诓粚?duì)稱性(例如,Grace在從本地內(nèi)存復(fù)制到對(duì)等GH200時(shí)達(dá)到更高的吞吐量)Hopper在跨越多個(gè)互連時(shí)通常能更有效地利用可用帶寬
: G& J7 Z/ O) k- H( \/ l0 w5 j: D' {
3. 延遲:
$ z& o$ v% _4 I' X# V
2bha1dosrmk640131845846.png (75.84 KB, 下載次數(shù): 7)
下載附件
保存到相冊(cè)
2bha1dosrmk640131845846.png
前天 01:04 上傳
' S! O8 }6 |- _1 P- G圖5:主內(nèi)存訪問延遲
( f; | ]1 ?/ q, H* E" N1 H, j; l6 ?
圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。
/ r8 S0 v1 l3 ~ G+ P$ C# ?' Y: m* ]) a5 o) `6 p
優(yōu)化應(yīng)用程序; V$ M. x& e: c0 }- i/ @9 G
理解這些性能特征對(duì)于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來看一些示例工作負(fù)載及其基于內(nèi)存放置的性能:
- A4 n4 a _4 a2 n% k; `8 N2 u3 B1. GEMM(通用矩陣乘法):) R( P9 A! q" R3 g% a$ d4 c
xwra2nee20t640131845946.png (141.24 KB, 下載次數(shù): 6)
下載附件
保存到相冊(cè)
xwra2nee20t640131845946.png
前天 01:04 上傳
8 z6 i; _6 B. n4 _/ f: Q9 T* K圖6:GEMM性能& z% u. x4 ^+ t. e
6 a& ` N. ~ Z2 E% H1 \# P圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點(diǎn):
* S9 n( i; L" ?HBM放置對(duì)于最佳性能至關(guān)重要,特別是對(duì)于使用Tensor Cores的數(shù)據(jù)類型即使將一個(gè)矩陣移出HBM也可能顯著影響性能# E0 W6 ^# R5 w5 g8 l% o
* r- L9 A% h3 v2. LLM(大型語言模型)推理:5 X3 [ t0 `$ _3 j" k" z. k7 x
20014rdhvzh640131846046.png (60.41 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
20014rdhvzh640131846046.png
前天 01:04 上傳
9 Y( V+ y) V7 y6 S; h; S圖7:LLM推理時(shí)間
5 ?( t( R2 C3 d' {; d% i+ T( l' f9 ~( E9 J# I7 Z) q/ ^) y" s
圖7顯示了不同模型和內(nèi)存分配的LLM推理時(shí)間。觀察結(jié)果:
# ^, J1 i" I5 Q B H* H. t內(nèi)存訪問速度對(duì)吞吐量起著根本作用HBM分配提供最佳性能,而對(duì)等內(nèi)存訪問顯著影響推理時(shí)間( x! o6 S1 s- D& ^7 u( {1 P
$ q# V2 S8 l& l, e/ |
3. NCCL(NVIDIA集體通信庫)操作:
/ h) H# J2 j- T" n- M I
wtcar1tazwv640131846146.png (98.46 KB, 下載次數(shù): 7)
下載附件
保存到相冊(cè)
wtcar1tazwv640131846146.png
前天 01:04 上傳
' ], b) L: y4 ]+ z圖8:NCCL All Reduce和All Gather性能
f! p" W5 l5 b& D' d* G
k* z' x& y8 S圖8說明了節(jié)點(diǎn)內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點(diǎn):
( ]8 v6 D4 x7 n超級(jí)芯片局部性比使用的內(nèi)存類型更重要同一GH200內(nèi)存大大優(yōu)于對(duì)等訪問% ^! f5 @+ g5 L6 K; Y0 S) x4 }( O
! z' B5 [( k* @% C: v最佳實(shí)踐和建議5 p- V; f ~, b: H) W, f5 P( o+ |
基于從這些基準(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訪問:盡量將數(shù)據(jù)保持在執(zhí)行計(jì)算的GH200單元本地,因?yàn)閷?duì)等內(nèi)存訪問會(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或類似庫的應(yīng)用程序,專注于超級(jí)芯片局部性以最大化性能。分析和迭代:使用分析工具識(shí)別應(yīng)用程序中的內(nèi)存訪問模式,并根據(jù)系統(tǒng)的性能特征迭代優(yōu)化數(shù)據(jù)放置。
/ D1 a7 E; x8 F. E[/ol]4 B2 ^# K, u* t1 e$ U2 y- g6 A
結(jié)論
( P6 g) r' k) z# OQuad 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ù)放置。通過遵循本文概述的最佳實(shí)踐并仔細(xì)考慮不同內(nèi)存操作的性能特征,可以顯著提高在這一先進(jìn)異構(gòu)系統(tǒng)上應(yīng)用程序的效率。
1 p, w) _ o* x+ J& ]) l8 D
$ ^& A) A' h3 y$ p9 j參考文獻(xiàn)
" o# {; B0 \7 [6 t5 R2 F[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.
% f- @! v. D8 W! ^
% c! w' |: f# H- N. `6 [4 W/ G0 fEND1 N6 w, W! K2 T' k0 K# |
* h( m) L/ P, T6 R0 H% R
+ _6 P$ |) a6 i, y4 o
軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。
- X' c0 Q# r- {' h9 @0 I; f點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)1 G0 _0 O8 x5 y) R% M6 P
# P; J* A5 o1 w; y4 g0 x& ]歡迎轉(zhuǎn)載; z$ \4 V8 E) s
& N2 _! x2 Y! i+ X: V4 p轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!
0 s- t1 O/ L+ V, r1 d" h% r
* R# X$ y" Z3 W k5 x/ q3 v# g- z6 t# y Y% x {% I9 p: e
: O+ V6 i& k @4 R; m2 s# T- |
dwno3zivgzi640131846246.gif (16.04 KB, 下載次數(shù): 6)
下載附件
保存到相冊(cè)
dwno3zivgzi640131846246.gif
前天 01:04 上傳
, ]+ z% S6 e# Z O8 f1 C
$ [ `, c* B6 b
關(guān)注我們
0 R1 j" E3 L$ O9 ]; W
! w1 h& D9 d" M. V8 ?& d1 B
! u5 ]% R8 m+ I; P! O, N4 U ?
4rylqec5bdo640131846346.png (31.33 KB, 下載次數(shù): 7)
下載附件
保存到相冊(cè)
4rylqec5bdo640131846346.png
前天 01:04 上傳
1 k f% r1 }* X |
4 L o8 G. ]5 W9 j
dmhmyzw3c0v640131846446.png (82.79 KB, 下載次數(shù): 7)
下載附件
保存到相冊(cè)
dmhmyzw3c0v640131846446.png
前天 01:04 上傳
7 t3 d C& m0 S) G- `
| " Y- `( T. B1 W0 E9 m
vjb0ch5fihn640131846546.png (21.52 KB, 下載次數(shù): 8)
下載附件
保存到相冊(cè)
vjb0ch5fihn640131846546.png
前天 01:04 上傳
/ d* T7 p% V9 h6 K | ' ^# j+ y5 a4 k( p. n" F# ~7 ]
: @% t# }; c1 X' V
4 }' [0 ?% B& `: u' k+ c
! C0 m C$ x# ]0 x- A$ M, f1 x# K! ^- @- i關(guān)于我們:
# K$ e4 \% R w! ]& s u深圳逍遙科技有限公司(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)域的頭部客戶。逍遙科技與國內(nèi)外晶圓代工廠及硅光/MEMS中試線合作,推動(dòng)特色工藝半導(dǎo)體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶提供前沿技術(shù)與服務(wù)。
3 w8 H4 {# r9 s# G9 E6 T" r: d: {6 u0 |' v# C: o, y l* f
http://www.latitudeda.com/. M9 I* g7 [5 m# }1 B2 L
(點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容) |
|