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

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

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

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

[復(fù)制鏈接]

552

主題

552

帖子

4418

積分

四級會(huì)員

Rank: 4

積分
4418
跳轉(zhuǎn)到指定樓層
樓主
引言
# k2 ~0 l! r, i% q( @1 l$ V# z高性能計(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超級芯片(GH200)代表了緊密耦合異構(gòu)系統(tǒng)的重大進(jìn)步,提供了統(tǒng)一的地址空間和對系統(tǒng)所有主內(nèi)存的透明細(xì)粒度訪問。0 I6 J  a+ k+ y+ r

2 S* J8 D! r* i9 h- f本文將探討Quad GH200節(jié)點(diǎn)的架構(gòu)(這是瑞士國家超級計(jì)算中心Alps超級計(jì)算機(jī)的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。% c  [5 O5 X  g( O  t
) q2 [  z, X" m' s( b. S
3 ]' U& i* T" h$ c6 W
架構(gòu)概述
" G/ S0 w3 |9 S: Q/ S: ?& U6 YQuad GH200節(jié)點(diǎn)由四個(gè)GH200超級芯片組成,每個(gè)超級芯片結(jié)合了一個(gè)Grace CPU和一個(gè)Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關(guān)鍵組件:  ]" K5 P  r9 C, {$ e! Y5 s) P

' j: ]3 M9 ?( Q! Z/ Z% @5 Z  e1 h2 V1 B! j圖1:Quad GH200節(jié)點(diǎn)的架構(gòu)( T  `$ {( V- d* O
* W  [  ]* m& Q
如圖1所示,每個(gè)GH200超級芯片具有以下特點(diǎn):
5 F6 u! K: V) M0 E
  • 一個(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帶寬)
    , n- L/ E% c# D# {( z; u

    ! @8 G; C* l9 N6 WGH200單元通過以下方式互連:
    6 }9 P7 Z( i* }1 p) H
  • NVLink:每個(gè)方向150 GB/s(總共900 GB/s)
  • Grace互連:每個(gè)方向150 GB/s
  • NVLink-C2C(C2C):每個(gè)方向450 GB/s(總共900 GB/s)
    4 V2 A! |0 l% w; H; m+ `& w. l3 o
    8 C/ ?. @9 Z. ^  [
    每個(gè)節(jié)點(diǎn)還通過單獨(dú)的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個(gè)方向提供25 GB/s(總共200 GB/s)的節(jié)點(diǎn)間通信。( d( a4 ]' v+ b) _' ^7 i( V
    1 `+ g7 S( y% N+ k) F
    內(nèi)存層次結(jié)構(gòu)和NUMA# m$ T. ^" n+ E, I# i: G
    Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。7 N# E# U% j2 b
    每個(gè)GH200由兩個(gè)NUMA節(jié)點(diǎn)組成:
  • 與Grace親和的LPDDR5內(nèi)存
  • 與Hopper親和的HBM3內(nèi)存4 m6 z' M( L5 v
    [/ol]' a6 s" l* ?8 R. N* l
    總的來說,一個(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)。4 N/ B/ [, w8 y' Z9 M4 v

    ; E1 F& T7 @* g6 l理解數(shù)據(jù)路徑
    5 m3 y& H- Q8 B2 o: A2 o- k為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復(fù)制操作:5 n' L& ?3 F' X8 v& ?. _! V3 E

    % X% p8 h6 ^8 j  {/ {# K圖2:Hopper操作的數(shù)據(jù)路徑
    3 I/ R6 `- b& d) {, K. X+ M
    3 y: `* G# @/ d& n) `圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復(fù)制操作的數(shù)據(jù)路徑。* o* W/ _, B  l: T' d
    注意:
    9 {: ~8 W/ r0 o3 D; D
  • 本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)
  • 跨C2C互連的操作限制在450 GB/s
  • 復(fù)制操作可能需要多次互連遍歷,影響可達(dá)到的帶寬
    3 \0 Q1 K7 |- G/ K4 d

    6 Q9 _8 N( s3 [* C+ F/ b( J內(nèi)存操作基準(zhǔn)測試
    9 N& d5 u5 O# w* h為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準(zhǔn)測試的結(jié)果:  R& ]5 w- Y- Z# Z
    1. 讀取和寫入操作:
    ; s9 r6 f# t8 J " U) b4 x# `6 D- y' e% e* \* h
    圖3:讀取和寫入吞吐量7 E* ^" o* Y* v4 }- i. {

    0 b0 ]/ z5 B+ `& @圖3顯示了Grace和Hopper在不同類型內(nèi)存上進(jìn)行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負(fù)載下的情況。* U) i: s' k/ n, l( j
    主要觀察:
    , r( w2 O7 d( L: P. ]
  • Hopper通常在本地內(nèi)存訪問時(shí)更好地利用C2C互連
  • 跨越C2C和NVLink的操作會(huì)產(chǎn)生顯著開銷
  • 在負(fù)載下,對HBM的寫入受影響最大,特別是對Grace而言
    * R2 f1 X9 E. A# r. k) t  y( s
    2 L. E" W* }/ r9 ?* q
    2. 復(fù)制操作:
    " P/ m  ?+ a* g; b: y5 @ " C, ]' Z" p* O; d$ Q
    圖4:復(fù)制吞吐量- c& Z  S2 z4 ^0 m. L
    ! ~% i9 A" l& o; v9 v' w" @
    圖4說明了Grace和Hopper在不同源和目標(biāo)內(nèi)存類型之間進(jìn)行復(fù)制操作的吞吐量。
    ! a3 Y) \2 y8 k, T0 S$ a8 b值得注意的發(fā)現(xiàn):
    - b. m% {  N: L* Q% _8 @
  • 內(nèi)存?zhèn)鬏敶嬖诓粚ΨQ性(例如,Grace在從本地內(nèi)存復(fù)制到對等GH200時(shí)達(dá)到更高的吞吐量)
  • Hopper在跨越多個(gè)互連時(shí)通常能更有效地利用可用帶寬+ Z; b1 d( a$ i. m% U) ]/ W6 L
    - V2 K2 r6 V. C# ~2 c& h5 n( }
    3. 延遲:% w+ ]/ s' I+ n. |5 v+ {7 s9 J2 c

    " i' J7 ]- T( J. ^' r. g+ O圖5:主內(nèi)存訪問延遲, {. s) E/ t7 i# N: c  x
    5 N. }! {0 S* J0 Q5 [8 n0 O
    圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。+ x' ?7 S/ T/ s: e" _: `. \

    4 P. y" H3 O, q$ c4 @  W優(yōu)化應(yīng)用程序
    & J6 D$ S2 w6 P理解這些性能特征對于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來看一些示例工作負(fù)載及其基于內(nèi)存放置的性能:
    0 z0 F  ~' l6 t+ W" I8 M. _1. GEMM(通用矩陣乘法):- ?' P) R# o( U" O! K

    9 P7 t! T" Z6 [4 ^% M1 d' Q+ J; O圖6:GEMM性能* X# ^* f! B( M$ f5 D; s. o
    / m9 i" ~3 f3 f, @1 z
    圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點(diǎn):
    6 ]" K! E, R7 f: _" j# _
  • HBM放置對于最佳性能至關(guān)重要,特別是對于使用Tensor Cores的數(shù)據(jù)類型
  • 即使將一個(gè)矩陣移出HBM也可能顯著影響性能# [" k* S% b: {& H8 L/ A2 w8 Q0 P
    6 S1 h0 x1 f% S: Q
    2. LLM(大型語言模型)推理:! x4 B' d) }" z5 |  m

    4 p" e: q/ I9 K8 g9 f! H& p圖7:LLM推理時(shí)間
    7 u. V1 M  p; k" `0 i6 @: x% j7 R6 q; G" ^( ^( R6 d  ~
    圖7顯示了不同模型和內(nèi)存分配的LLM推理時(shí)間。觀察結(jié)果:
    ! d/ ^7 m$ J( F7 L
  • 內(nèi)存訪問速度對吞吐量起著根本作用
  • HBM分配提供最佳性能,而對等內(nèi)存訪問顯著影響推理時(shí)間
    ) b# }/ F" L( ]

    & l( ]7 W, p! j, W" g% F3. NCCL(NVIDIA集體通信庫)操作:1 w7 `8 p/ T4 c& K0 T% v

    & V0 b  O( o! B' U8 A- f$ g圖8:NCCL All Reduce和All Gather性能
    3 o5 n6 L# y# _' g2 B- f
    , X+ t( E$ O9 g5 A  p圖8說明了節(jié)點(diǎn)內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點(diǎn):
    . N. O- E, O- z: X
  • 超級芯片局部性比使用的內(nèi)存類型更重要
  • 同一GH200內(nèi)存大大優(yōu)于對等訪問
    4 q% V5 [7 E" ?# G0 [: P

    7 A8 ?8 [& d- j( W: h最佳實(shí)踐和建議4 b% ^, `1 ]3 j
    基于從這些基準(zhǔn)測試和應(yīng)用程序示例中獲得的見解,以下是在Quad GH200系統(tǒng)上優(yōu)化內(nèi)存操作的一些最佳實(shí)踐:
  • 優(yōu)先使用HBM:盡可能將性能關(guān)鍵數(shù)據(jù)放在本地HBM內(nèi)存中,特別是對于GPU密集型工作負(fù)載。
  • 最小化跨GH200訪問:盡量將數(shù)據(jù)保持在執(zhí)行計(jì)算的GH200單元本地,因?yàn)閷Φ葍?nèi)存訪問會(huì)導(dǎo)致顯著的性能損失。
  • 謹(jǐn)慎利用統(tǒng)一內(nèi)存:雖然統(tǒng)一內(nèi)存簡化了編程,但要注意與顯式內(nèi)存管理相比的性能特征。
  • 考慮內(nèi)存?zhèn)鬏數(shù)牟粚ΨQ性:在設(shè)計(jì)數(shù)據(jù)移動(dòng)模式時(shí),要考慮不同內(nèi)存類型之間復(fù)制操作的不對稱性。
  • 優(yōu)化集體操作:對于使用NCCL或類似庫的應(yīng)用程序,專注于超級芯片局部性以最大化性能。
  • 分析和迭代:使用分析工具識別應(yīng)用程序中的內(nèi)存訪問模式,并根據(jù)系統(tǒng)的性能特征迭代優(yōu)化數(shù)據(jù)放置。
    : |: F6 E" y$ e- Y[/ol]% K! v& U8 J" X2 p  J- k
    結(jié)論
    0 c) c- c. N, p6 N  vQuad 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 W. a- _# b, w

    4 G4 N( d- @6 c, R, B$ {& f3 |參考文獻(xiàn)7 v6 m/ Y1 j3 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.
    - c, l2 w; R$ q( m: {+ @
    $ \9 j/ K, e; l$ e: FEND( K- z7 C3 H4 Z0 j
    0 B& N7 p. D8 M1 [6 B! r$ C2 `8 h
    ' L+ k2 I8 ?) C, l& I  }
    軟件申請我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。" r" |: T1 i0 O
    點(diǎn)擊左下角"閱讀原文"馬上申請+ A  D5 R) _9 k

    ) H/ U' K! }4 _歡迎轉(zhuǎn)載
    2 t: ?7 w( k$ k' @" s5 J
    / y1 e9 d* m( l$ S轉(zhuǎn)載請注明出處,請勿修改內(nèi)容和刪除作者信息!
    2 M: W. w& I( Q/ H& r" H6 d2 g# l5 t" c: r- Z
    ; v' A" r5 V6 ^9 M( r/ g
    3 W! A$ D0 [4 ]+ x) o

    / ~, S* r& n; r- N
    ! p5 \! x( N5 S. {關(guān)注我們
    % t* h1 V3 z) u3 R
      p9 ]+ W' D4 j  \
    8 N( s# z+ q, x' O% g! d* n
    % F; L9 L- _5 ^2 H+ L& s2 ]4 T
    5 _* s! ~2 p$ P2 K* `2 ]/ N
    ! j: ~+ C( Q5 c2 f) L
    . r; q+ j" N( |+ t

      s* o/ D- H, X" H
                         
    % \, r. i. l& k% L& w5 h3 P9 r9 C9 t5 c& x
    3 n2 K) j' M6 s  [# E& u

    8 X, }$ N3 {. ~- ~5 F5 Q/ J關(guān)于我們:
    + [) n0 y$ Q; h深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導(dǎo)體芯片設(shè)計(jì)自動(dòng)化(EDA)的高科技軟件公司。我們自主開發(fā)特色工藝芯片設(shè)計(jì)和仿真軟件,提供成熟的設(shè)計(jì)解決方案如PIC Studio、MEMS Studio和Meta Studio,分別針對光電芯片、微機(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ù)。
    ! k! M5 q/ S7 i; C' n+ j8 X" z
    0 Q' f/ ]* e6 }, u2 c9 Ihttp://www.latitudeda.com/
    4 R0 S0 F$ G& g# u; B(點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 發(fā)表回復(fù)

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

    本版積分規(guī)則


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