電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 51|回復(fù): 0
收起左側(cè)

理解緊密耦合異構(gòu)系統(tǒng)中的內(nèi)存操作:Grace Hopper超級芯片指南

[復(fù)制鏈接]

552

主題

552

帖子

4418

積分

四級會員

Rank: 4

積分
4418
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-11-12 08:01:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
引言
2 M1 ~% `0 w$ i& _: }6 [( t高性能計算(HPC)和人工智能(AI)領(lǐng)域因異構(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)存的透明細粒度訪問。0 ~2 x- `0 K4 n! L5 ?

- b5 a' M7 ~9 L8 b; J' p+ x9 z本文將探討Quad GH200節(jié)點的架構(gòu)(這是瑞士國家超級計算中心Alps超級計算機的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。& E% l0 H" `) Q, @+ v2 L% i$ S

6 c3 S2 g; Y2 C* E( r  e* Z) L6 I: ]- Z: Z( k" U# ^( @4 w
架構(gòu)概述: C  I6 {' c% ]$ S% A0 ?5 K3 Z
Quad GH200節(jié)點由四個GH200超級芯片組成,每個超級芯片結(jié)合了一個Grace CPU和一個Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關(guān)鍵組件:, ]0 X0 r1 S: c
6 m( Y0 M. w4 r' V$ r( X
圖1:Quad GH200節(jié)點的架構(gòu)
% F! k! `0 a8 i; J% R  H, l8 @$ d( g5 X. I% X( @" w
如圖1所示,每個GH200超級芯片具有以下特點:
, Z$ |) B/ w& {- c* @
  • 一個Grace CPU,有72個Arm Neoverse V2核心
  • 一個Hopper GPU,有132個流式多處理器(SMs)
  • 96GB的HBM3內(nèi)存(4000 GB/s帶寬)
  • 128GB的LPDDR5內(nèi)存(500 GB/s帶寬)
    ! G8 w! }" s# g& N+ T' l/ s, a+ ?
    " B8 K, J9 d) D1 V% f3 b5 [1 b
    GH200單元通過以下方式互連:- v/ o: |8 e# ~& V) y% ?/ @- f
  • NVLink:每個方向150 GB/s(總共900 GB/s)
  • Grace互連:每個方向150 GB/s
  • NVLink-C2C(C2C):每個方向450 GB/s(總共900 GB/s)
    . S  o9 ?0 g+ y" O$ A

    . A! k2 A( F- @3 [2 l# G每個節(jié)點還通過單獨的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個方向提供25 GB/s(總共200 GB/s)的節(jié)點間通信。
    - |0 L4 J9 e9 d% X8 H1 A$ J1 z. c; r
    內(nèi)存層次結(jié)構(gòu)和NUMA2 N) N6 J5 V1 O( s
    Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。
    ' C9 s% L+ o3 }+ f8 d/ _每個GH200由兩個NUMA節(jié)點組成:
  • 與Grace親和的LPDDR5內(nèi)存
  • 與Hopper親和的HBM3內(nèi)存- H1 x9 U% M+ f
    [/ol]
    4 c$ n; X( K; m* v% C, F: z5 m- l總的來說,一個Quad GH200節(jié)點有八個NUMA節(jié)點,四個與Grace CPU相關(guān)(NUMA 0-3),四個與Hopper GPU相關(guān)(NUMA 4, 12, 20, 28)。: ?; {# |0 y( G+ J  l( _# q

    , p2 m) r0 h- ?7 h$ Y# V理解數(shù)據(jù)路徑
    6 p5 d" @% a! d+ u; T9 r為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復(fù)制操作:  m( F; Q6 T- p; M" V- Z

    6 f4 w' [) ~/ G2 I/ L圖2:Hopper操作的數(shù)據(jù)路徑
    - n" \. q4 T* f# ^6 K1 g8 `! ?; i. D8 [. f3 P9 b
    圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復(fù)制操作的數(shù)據(jù)路徑。
    % p3 N8 G* s) T- r( r; K0 w注意:, T0 L, D" S2 p$ ?* A+ a5 V
  • 本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)
  • 跨C2C互連的操作限制在450 GB/s
  • 復(fù)制操作可能需要多次互連遍歷,影響可達到的帶寬8 o+ _; Q( @' Z. ^
    8 T& v$ \* y. s* H. d8 d
    內(nèi)存操作基準測試
    ; S& o: c: N; L  M* D& |8 F為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準測試的結(jié)果:
    / s0 S* S. L  j! e! `1. 讀取和寫入操作:
    0 T; B0 y  g6 U3 n0 _" M/ b) I1 O! b 2 _( b( L% ^" D6 w, ~) _9 I2 i  S9 t
    圖3:讀取和寫入吞吐量
    0 r6 s' T  O. _* E+ r  m# }( s& N& ?5 r6 Z1 T: Y
    圖3顯示了Grace和Hopper在不同類型內(nèi)存上進行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負載下的情況。- V# r' a: y: Y" O0 B
    主要觀察:( T7 D, O4 W/ k+ r
  • Hopper通常在本地內(nèi)存訪問時更好地利用C2C互連
  • 跨越C2C和NVLink的操作會產(chǎn)生顯著開銷
  • 在負載下,對HBM的寫入受影響最大,特別是對Grace而言# L( m  e- t4 B9 ?/ N" ]. n6 X

    8 p- ^$ @# n* x; o6 f2. 復(fù)制操作:8 z$ U8 w; d0 C
    7 V! Z/ C3 x7 O$ [5 E
    圖4:復(fù)制吞吐量
    ! B. `. F) _' {7 E+ d$ m! v# L% q9 Z" V; I; }' q* [
    圖4說明了Grace和Hopper在不同源和目標內(nèi)存類型之間進行復(fù)制操作的吞吐量。
    ; n9 o; t. L7 G# a1 j( j值得注意的發(fā)現(xiàn):/ y5 L# U+ I' D; }) Z
  • 內(nèi)存?zhèn)鬏敶嬖诓粚ΨQ性(例如,Grace在從本地內(nèi)存復(fù)制到對等GH200時達到更高的吞吐量)
  • Hopper在跨越多個互連時通常能更有效地利用可用帶寬
    ) Z' R+ S: ^: C0 J) j2 l- s
    3 `/ w5 g4 l- k: c1 L
    3. 延遲:
    ) M* u9 w8 Q' c# X
    $ T6 ?- f* @1 }6 L( i" Q7 N3 ]$ [圖5:主內(nèi)存訪問延遲; N3 m5 Q  Q4 P; P
    ; }0 u' e+ z+ Q3 X
    圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。, B' [; V. B* H; g: A6 g
    7 w6 d9 t. m" q. t. X
    優(yōu)化應(yīng)用程序
    / U' W- |9 v1 x% a& f4 C1 H( N理解這些性能特征對于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來看一些示例工作負載及其基于內(nèi)存放置的性能:9 ]6 a) J4 A/ z8 O3 o. b* Y# P! x
    1. GEMM(通用矩陣乘法):
    ' k9 Y8 j! q$ z- o) M1 j* A0 L
    ( J" H' G4 ^7 P8 M5 c5 g4 u$ ^圖6:GEMM性能
    $ Y$ m+ O9 F$ X! _+ C, _& g" j8 B6 `8 o6 _  ]: W2 f& U$ U; c
    圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點:
    - U1 Y/ u- A) O: v8 N' d
  • HBM放置對于最佳性能至關(guān)重要,特別是對于使用Tensor Cores的數(shù)據(jù)類型
  • 即使將一個矩陣移出HBM也可能顯著影響性能
    ) ~$ k. I- Z$ G9 n5 t" n
    + u$ e0 @$ k- v* J1 \) w! g
    2. LLM(大型語言模型)推理:
    * y/ h9 e8 u5 a+ s" |, _& o, M
    5 X( P( r4 J3 D7 A6 q; g圖7:LLM推理時間
    & Y9 i0 p; H4 T' r2 f4 F. c* I+ a3 _
    圖7顯示了不同模型和內(nèi)存分配的LLM推理時間。觀察結(jié)果:3 Y, f* S1 ]& |9 {7 X
  • 內(nèi)存訪問速度對吞吐量起著根本作用
  • HBM分配提供最佳性能,而對等內(nèi)存訪問顯著影響推理時間
    - H7 d5 B, L5 b3 K

    3 K8 k: K! `+ [  C# k3. NCCL(NVIDIA集體通信庫)操作:0 f( P* d+ W- m. @* t( Z

    ! u4 Z2 a8 p9 V9 Z/ k0 [圖8:NCCL All Reduce和All Gather性能
    6 @; _- L0 S0 m6 N' L2 f3 f8 R) F8 n- u9 v. |2 O& }# M' d7 T
    圖8說明了節(jié)點內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點:
    # l! x3 c$ N% |% F; p
  • 超級芯片局部性比使用的內(nèi)存類型更重要
  • 同一GH200內(nèi)存大大優(yōu)于對等訪問. M! Z1 o: p: |, n$ U. b$ G+ \

    9 A) Y9 R2 m- K0 S最佳實踐和建議
    ) R/ y) i& \5 D0 E4 D% L基于從這些基準測試和應(yīng)用程序示例中獲得的見解,以下是在Quad GH200系統(tǒng)上優(yōu)化內(nèi)存操作的一些最佳實踐:
  • 優(yōu)先使用HBM:盡可能將性能關(guān)鍵數(shù)據(jù)放在本地HBM內(nèi)存中,特別是對于GPU密集型工作負載。
  • 最小化跨GH200訪問:盡量將數(shù)據(jù)保持在執(zhí)行計算的GH200單元本地,因為對等內(nèi)存訪問會導(dǎo)致顯著的性能損失。
  • 謹慎利用統(tǒng)一內(nèi)存:雖然統(tǒng)一內(nèi)存簡化了編程,但要注意與顯式內(nèi)存管理相比的性能特征。
  • 考慮內(nèi)存?zhèn)鬏數(shù)牟粚ΨQ性:在設(shè)計數(shù)據(jù)移動模式時,要考慮不同內(nèi)存類型之間復(fù)制操作的不對稱性。
  • 優(yōu)化集體操作:對于使用NCCL或類似庫的應(yīng)用程序,專注于超級芯片局部性以最大化性能。
  • 分析和迭代:使用分析工具識別應(yīng)用程序中的內(nèi)存訪問模式,并根據(jù)系統(tǒng)的性能特征迭代優(yōu)化數(shù)據(jù)放置。4 ]/ C+ v) t' u$ h7 a8 h/ V2 E$ X2 `
    [/ol]
    ) i; ?4 j! X. K# a# d: [. H- d5 O結(jié)論
    9 i( d) _8 [5 K- CQuad GH200節(jié)點為HPC和AI工作負載提供了強大的計算能力和內(nèi)存帶寬。然而,要充分利用其潛力,開發(fā)人員必須理解其復(fù)雜的內(nèi)存層次結(jié)構(gòu)并相應(yīng)地優(yōu)化數(shù)據(jù)放置。通過遵循本文概述的最佳實踐并仔細考慮不同內(nèi)存操作的性能特征,可以顯著提高在這一先進異構(gòu)系統(tǒng)上應(yīng)用程序的效率。
    ( {+ d+ B  n# R/ T7 o* a
    $ r+ W) \- `& m) Q% l: v; ?參考文獻) j( i, a, \5 y5 x( p3 J7 A+ m
    [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.* Z1 P3 z7 p  W/ F
    / k# Q; L9 o7 f5 |6 @
    END( Z6 n1 l' C0 Y1 p: u

    % X/ X9 N' m( q+ V+ G, B! T8 ?* N. X5 o
    軟件申請我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請體驗免費版PIC Studio軟件。無論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。/ C# N; G9 M8 I" U
    點擊左下角"閱讀原文"馬上申請
      K9 P* K- M: P9 x% m& l. J; K! y! Q# X" w7 w" K( \3 ~5 J
    歡迎轉(zhuǎn)載5 m, T0 J6 a  `7 S9 w9 S) ]
    # G% h  \6 }* g! Z8 e5 ^, @
    轉(zhuǎn)載請注明出處,請勿修改內(nèi)容和刪除作者信息!# Z4 w9 ~, T  H; J

    8 X5 [5 O1 E7 m+ B; q5 w  B2 I' D6 d( B3 }
    % y% n# I- d8 F6 }5 h# @( D$ {
    . a0 B4 l6 h5 }. i6 Q

    " q2 ]: r1 O6 H關(guān)注我們
    0 W; |9 N7 G1 T/ F& |
    8 Y7 ^  {: l5 z7 c( v9 f
    1 ]) ?4 a, u0 a+ ?( \0 ?
    ; _3 |. o# u) q6 H5 s
    6 S& v. L. `, C4 b4 ~  R7 j& x
    8 Q" l. K8 d( Y. j- p& `

    : I6 h6 {! W* y3 ] 2 S& g1 ~/ O4 `4 {) o$ H$ `
                          4 k  O$ o& {5 g* X

    9 A) J' j6 C2 N

    . }5 ~  W  J" b. Y& H6 y, n+ H( e  o( r& A: r" |2 _9 B
    關(guān)于我們:7 B" u* ~$ j+ r& O. z
    深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導(dǎo)體芯片設(shè)計自動化(EDA)的高科技軟件公司。我們自主開發(fā)特色工藝芯片設(shè)計和仿真軟件,提供成熟的設(shè)計解決方案如PIC Studio、MEMS Studio和Meta Studio,分別針對光電芯片、微機電系統(tǒng)、超透鏡的設(shè)計與仿真。我們提供特色工藝的半導(dǎo)體芯片集成電路版圖、IP和PDK工程服務(wù),廣泛服務(wù)于光通訊、光計算、光量子通信和微納光子器件領(lǐng)域的頭部客戶。逍遙科技與國內(nèi)外晶圓代工廠及硅光/MEMS中試線合作,推動特色工藝半導(dǎo)體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶提供前沿技術(shù)與服務(wù)。
      j, E" Z2 F  A# C
    5 A3 o- B/ m. S* rhttp://www.latitudeda.com/+ e8 e: i8 b% M& [& A
    (點擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 回復(fù)

    使用道具 舉報

    發(fā)表回復(fù)

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表