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

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

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

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

[復(fù)制鏈接]

552

主題

552

帖子

4418

積分

四級會員

Rank: 4

積分
4418
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 前天 08:01 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
引言7 S+ F4 E' D8 {7 v' D
高性能計算(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)存的透明細粒度訪問。
* K! d# W5 R8 ]) L1 `! V
0 r0 M2 D' m6 T$ n; q' F! h本文將探討Quad GH200節(jié)點的架構(gòu)(這是瑞士國家超級計算中心Alps超級計算機的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。
  I, P$ X1 ~: I & {2 T+ ~- [) f  Y; ?1 c* Z& J
/ f# c; F% N' }8 j9 N) ~' s  n
架構(gòu)概述! H6 C7 B2 j: u# j6 l0 f
Quad GH200節(jié)點由四個GH200超級芯片組成,每個超級芯片結(jié)合了一個Grace CPU和一個Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關(guān)鍵組件:" {( P$ _  r; ]6 ~7 w# y
4 ?. f: `! \1 u: B
圖1:Quad GH200節(jié)點的架構(gòu)
6 u0 r9 c( K  ^" \5 f. E4 X$ z/ F/ }7 M' R
如圖1所示,每個GH200超級芯片具有以下特點:: G+ l4 s7 w( H* G# E& r
  • 一個Grace CPU,有72個Arm Neoverse V2核心
  • 一個Hopper GPU,有132個流式多處理器(SMs)
  • 96GB的HBM3內(nèi)存(4000 GB/s帶寬)
  • 128GB的LPDDR5內(nèi)存(500 GB/s帶寬)
    # H# f) E! G0 E' m; g
    " P( y4 P' A3 e5 m! j1 W9 d$ _
    GH200單元通過以下方式互連:+ H+ E2 H3 I2 c, p
  • NVLink:每個方向150 GB/s(總共900 GB/s)
  • Grace互連:每個方向150 GB/s
  • NVLink-C2C(C2C):每個方向450 GB/s(總共900 GB/s), \& q$ C! g) o+ O& }
    6 e1 `; C& i* @! g  a
    每個節(jié)點還通過單獨的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個方向提供25 GB/s(總共200 GB/s)的節(jié)點間通信。* \/ C8 J! |' |8 g9 W
    + w- N" v% @) E( N0 `! Z1 h
    內(nèi)存層次結(jié)構(gòu)和NUMA
    & O9 U9 v0 w# ZQuad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。( T) C& |, O" o$ j: U3 y! n
    每個GH200由兩個NUMA節(jié)點組成:
  • 與Grace親和的LPDDR5內(nèi)存
  • 與Hopper親和的HBM3內(nèi)存7 C1 L# G# _# c
    [/ol]
    # D# c& U; A2 Z3 T" b: W2 {7 u3 s總的來說,一個Quad GH200節(jié)點有八個NUMA節(jié)點,四個與Grace CPU相關(guān)(NUMA 0-3),四個與Hopper GPU相關(guān)(NUMA 4, 12, 20, 28)。
    1 a  }. S* a' H+ J7 r) ?& x
    7 P: S. ?( L& ^9 w% |! f* B3 o/ C4 l理解數(shù)據(jù)路徑3 T* u( t4 \/ {) O. u
    為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復(fù)制操作:0 G; f7 ?) ?$ {$ t+ Z. X3 O3 v

    1 e$ _( J( u/ M9 x/ \) @9 G# x" O圖2:Hopper操作的數(shù)據(jù)路徑; O- ^8 ?1 J3 b# H' D6 O! y  A
    % H* E# N1 H$ ?, K2 v$ ~
    圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復(fù)制操作的數(shù)據(jù)路徑。8 p  n$ C6 ]: W- S
    注意:. C7 f- s5 P4 p" [
  • 本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)
  • 跨C2C互連的操作限制在450 GB/s
  • 復(fù)制操作可能需要多次互連遍歷,影響可達到的帶寬
    * V5 G0 G/ O+ g& l" i1 D  _2 i
    0 V* k2 z# ~0 e" @
    內(nèi)存操作基準測試
    ; v7 v/ Q/ n3 T$ j+ U, P# I為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準測試的結(jié)果:
    # J" p# Q( Z  F( I, z1. 讀取和寫入操作:' t9 S1 u) ?- ?! b- q/ A; P

      t; C% ]' K. T8 M2 f1 T3 z) b圖3:讀取和寫入吞吐量1 @) v0 I: V! C0 X2 [2 `# S
    / o' M3 F( j0 `! [2 U  m+ }: S( ?
    圖3顯示了Grace和Hopper在不同類型內(nèi)存上進行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負載下的情況。% ]# w% W: a+ J% b
    主要觀察:/ f( Z1 o' u$ y. y' [, ]
  • Hopper通常在本地內(nèi)存訪問時更好地利用C2C互連
  • 跨越C2C和NVLink的操作會產(chǎn)生顯著開銷
  • 在負載下,對HBM的寫入受影響最大,特別是對Grace而言
    " m& J5 t1 R: U9 I

    , ]: F2 d$ \( o" g# i2. 復(fù)制操作:- F  H* j  ]$ L" q& h2 A7 D! L

    2 ~& E5 a' i* s0 a% A3 n+ z8 P* x$ C( ]! n圖4:復(fù)制吞吐量. C# x. o6 y9 _, R

    3 q( h+ w2 K8 V圖4說明了Grace和Hopper在不同源和目標內(nèi)存類型之間進行復(fù)制操作的吞吐量。
    % y& [" M5 j: ~( V: w值得注意的發(fā)現(xiàn):
    $ }6 F0 X2 S9 l+ `0 j% b- m" Q
  • 內(nèi)存?zhèn)鬏敶嬖诓粚ΨQ性(例如,Grace在從本地內(nèi)存復(fù)制到對等GH200時達到更高的吞吐量)
  • Hopper在跨越多個互連時通常能更有效地利用可用帶寬
    5 d9 `0 I- S  e2 q. x
    / u. P* L0 ]4 n0 V6 s/ _
    3. 延遲:
    $ Y6 X1 |/ l: u, x& ]9 _4 ~7 a 6 b! t6 [4 f# i' G& U: |  F) A4 t
    圖5:主內(nèi)存訪問延遲' h; q* G+ ]6 A8 p% J! s
    " |+ g& ]0 h' K" z, g; F( C
    圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。5 @; F1 K! \) j. C+ ~, a; [

    8 V0 _' B. T3 {0 Q( Q1 o優(yōu)化應(yīng)用程序; j% A* \/ Z1 f( g. |( O+ x: k
    理解這些性能特征對于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來看一些示例工作負載及其基于內(nèi)存放置的性能:$ W2 W- Z4 A! Z0 R: ~
    1. GEMM(通用矩陣乘法):
      W: N8 F, j" z5 v+ g8 Q ) @9 i0 K: I# N4 x- B/ P( @9 f
    圖6:GEMM性能' d% s& S+ ]. f4 y; {# B: }

    3 A6 W) s: C% Y) P* P圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點:, `# Z8 I9 b0 a3 O  X; D- D
  • HBM放置對于最佳性能至關(guān)重要,特別是對于使用Tensor Cores的數(shù)據(jù)類型
  • 即使將一個矩陣移出HBM也可能顯著影響性能, U9 A  t/ Z7 m5 ]  ]8 E

    ( l/ |$ N$ F: h3 X2. LLM(大型語言模型)推理:6 A5 w! u3 `9 d: {! Z( l

    1 G3 v8 v3 n! ^7 K9 Z1 ^圖7:LLM推理時間
    : }' N7 ~# o* A& W% ]; X- E7 I8 V: L; ^
    圖7顯示了不同模型和內(nèi)存分配的LLM推理時間。觀察結(jié)果:+ m3 T- w# A$ |/ ]* A) q6 s6 ?' d
  • 內(nèi)存訪問速度對吞吐量起著根本作用
  • HBM分配提供最佳性能,而對等內(nèi)存訪問顯著影響推理時間
    " y& o* f2 V5 `8 d

      V7 i+ Q* Y* V/ z' A3. NCCL(NVIDIA集體通信庫)操作:. y4 X' w5 C$ b) t) x) g

      K2 n% A) B2 n3 l9 D, z圖8:NCCL All Reduce和All Gather性能1 N: N4 @0 v5 ~( a2 U+ `
    6 M8 ~1 R* u; d! m" R/ A* T. |
    圖8說明了節(jié)點內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點:
    " G3 e$ i' i+ B% k* \
  • 超級芯片局部性比使用的內(nèi)存類型更重要
  • 同一GH200內(nèi)存大大優(yōu)于對等訪問+ Y% J0 `! @0 W" ?1 [& P

    ( J) H* o* O8 B2 H& p; P5 E最佳實踐和建議- A4 _8 g4 ?" o9 ?
    基于從這些基準測試和應(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ù)放置。
    . q5 }$ `! P: z  {[/ol]6 \% Q6 u8 A3 F6 R1 v) S
    結(jié)論
    5 a  J+ |6 V* \9 d( AQuad 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)用程序的效率。' @( `4 B- M& U3 j2 `

    8 Y3 V* e% g6 @+ A- T參考文獻+ w6 |* T6 b+ W& d  |% g+ A0 m. v
    [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., v' g! w% C* L- y9 G9 w* Q
    8 ?- I6 w$ z. O- [$ M$ G# P& M
    END
    ) K  p5 {$ Z2 F( j' ]5 i) {/ ~

    - |% b) \, p7 D/ O0 ]% Y, c2 a
    $ L+ t6 P% M9 J7 g% h, S軟件申請我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請體驗免費版PIC Studio軟件。無論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。4 J: ^/ z- a4 u6 v) o) u+ {2 u  M  Y& m
    點擊左下角"閱讀原文"馬上申請
    & m+ i' x( _; |4 l0 i1 c9 ~) x3 t! c
    歡迎轉(zhuǎn)載
    $ e: U* t6 e+ \% Y/ [5 J! `! _) E1 k3 l; E4 o
    轉(zhuǎn)載請注明出處,請勿修改內(nèi)容和刪除作者信息!
    ! w2 @* ?1 u1 Y
    . _( R/ E' u! q3 L, u& w5 I2 y6 q4 M* H3 H
    6 ^, C/ x3 ^/ H  r$ i8 v! I
    - N  E; z# v9 F  N0 n

    2 l" E9 N- _. |6 i4 }  p關(guān)注我們
    * |7 {& E& s' i" ]) f, c
    6 \: R. `& @' f; U/ Q) p

    6 k: V. Q/ V3 K# y 0 K- ~( {) O, @1 u
    9 }9 T; `3 ]9 d  d  Y

    & }4 p7 b, z3 Y& L  i1 y
    1 V) w* ^8 i$ Z+ R/ d7 B
    1 x' E7 m1 Z4 @0 `5 V( h+ e! g4 G
                         
    2 M% i* _1 w! b8 Q9 ^7 I- `: ]3 F2 R7 g( f& d" k" K- u8 O

    8 y% [% K8 i: \. V! k' ?- G) q* D$ ^: e/ v7 z2 @. h. {  M4 L
    關(guān)于我們:5 a" t# o0 b- J$ j
    深圳逍遙科技有限公司(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ù)。
    5 i- M6 k# [) F- r* `5 s" L- U9 I6 y- Y/ D0 j
    http://www.latitudeda.com/
    ( _* T$ X7 n$ w" D: m(點擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 回復(fù)

    使用道具 舉報

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

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

    本版積分規(guī)則


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