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

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

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

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

[復制鏈接]

552

主題

552

帖子

4418

積分

四級會員

Rank: 4

積分
4418
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 3 天前 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
引言
6 N2 m+ P0 ]" n4 C高性能計算(HPC)和人工智能(AI)領域因異構(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)存的透明細粒度訪問。% B( _' r: _8 m1 B9 y

0 ]* y0 ^6 `% k% s% @5 j2 d本文將探討Quad GH200節(jié)點的架構(gòu)(這是瑞士國家超級計算中心Alps超級計算機的基本構(gòu)建塊),并提供有關如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。
" Q5 ~! O! C- J8 { / d, P" Z6 S7 d' h
: p' F8 a' ^9 K7 z$ {
架構(gòu)概述. Q3 s4 i, R: D6 A: o0 L, L
Quad GH200節(jié)點由四個GH200超級芯片組成,每個超級芯片結(jié)合了一個Grace CPU和一個Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關鍵組件:
' L; }( e& n/ Q$ i0 I. k
* q& E2 B  T! L. t. H圖1:Quad GH200節(jié)點的架構(gòu)6 d# {& z, b& ]1 p5 Z0 ^9 Z( v
/ O: v$ h$ D! b* ]
如圖1所示,每個GH200超級芯片具有以下特點:: c: j- N! {# S. p: w
  • 一個Grace CPU,有72個Arm Neoverse V2核心
  • 一個Hopper GPU,有132個流式多處理器(SMs)
  • 96GB的HBM3內(nèi)存(4000 GB/s帶寬)
  • 128GB的LPDDR5內(nèi)存(500 GB/s帶寬)
    # x  {6 ~) ?# A4 u

    . M& p  z' O+ g" nGH200單元通過以下方式互連:! n8 Y5 E; C" |9 x) e
  • NVLink:每個方向150 GB/s(總共900 GB/s)
  • Grace互連:每個方向150 GB/s
  • NVLink-C2C(C2C):每個方向450 GB/s(總共900 GB/s)- U4 P  y+ S5 v% p3 @8 C! K; ?& q! J

    4 s" p4 J9 |8 F4 i" h, Z* m每個節(jié)點還通過單獨的網(wǎng)絡接口卡連接到Slingshot網(wǎng)絡,每個方向提供25 GB/s(總共200 GB/s)的節(jié)點間通信。
    ) B- p) w! w5 X0 S$ Y
    9 `2 i) D; b9 \. l0 z" `, Q內(nèi)存層次結(jié)構(gòu)和NUMA2 L! m* J7 v' ~' A( w% e) L
    Quad GH200系統(tǒng)呈現(xiàn)出復雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。0 Q" M8 u9 @: a# [
    每個GH200由兩個NUMA節(jié)點組成:
  • 與Grace親和的LPDDR5內(nèi)存
  • 與Hopper親和的HBM3內(nèi)存, a# N8 m9 S1 Q! ^
    [/ol]
    . `6 a: T) C5 Q) n, d總的來說,一個Quad GH200節(jié)點有八個NUMA節(jié)點,四個與Grace CPU相關(NUMA 0-3),四個與Hopper GPU相關(NUMA 4, 12, 20, 28)。
    4 L1 A: t5 J# f* j$ [
    # N9 J  i. l  B% ^& M理解數(shù)據(jù)路徑
    + J$ O2 @6 l# _$ q為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復制操作:% C' m5 V( {% S/ f+ \

    , a$ b, r5 {. O- S* u  L圖2:Hopper操作的數(shù)據(jù)路徑
    & Z' M6 j. Y8 H) n4 ^9 I0 j: H; S, d: @' I8 N" p: W% m
    圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復制操作的數(shù)據(jù)路徑。
    . b$ |% X( V  Z! |$ f6 w注意:
    0 C* l' z% A  a% y% S; s; T
  • 本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)
  • 跨C2C互連的操作限制在450 GB/s
  • 復制操作可能需要多次互連遍歷,影響可達到的帶寬
    ) e& O% ?/ B  |* R1 x! s- R
    2 T+ W$ x& F/ O: p- r
    內(nèi)存操作基準測試
    3 n; w/ x3 w* \8 k) Y0 A為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準測試的結(jié)果:9 L2 j& B* j8 ]8 \1 t' _: n  K" G( R9 B
    1. 讀取和寫入操作:! z& C8 S$ k* t8 z+ F1 Q

    & [. _. A5 b5 f' ?$ o' b圖3:讀取和寫入吞吐量+ n2 k7 \' M; y; p
    & _; ]5 O8 A3 |9 T
    圖3顯示了Grace和Hopper在不同類型內(nèi)存上進行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負載下的情況。
    # \4 r& O9 _: M7 q4 z主要觀察:7 X' _! T% i' S* X( k
  • Hopper通常在本地內(nèi)存訪問時更好地利用C2C互連
  • 跨越C2C和NVLink的操作會產(chǎn)生顯著開銷
  • 在負載下,對HBM的寫入受影響最大,特別是對Grace而言# G6 Y( L+ w' y' ]
      t/ y+ Z& F5 I& R0 {, f
    2. 復制操作:- O5 f5 _3 M5 ], p" ^+ I2 e

    % c2 h! \5 r9 h& _0 O圖4:復制吞吐量
    ( h  `7 b; ?5 S. |% i
    ' Z2 P; h- V, U/ j3 K! }$ O4 M圖4說明了Grace和Hopper在不同源和目標內(nèi)存類型之間進行復制操作的吞吐量。7 N& O9 c! u& V2 M# ^" Y3 p
    值得注意的發(fā)現(xiàn):
    9 {5 h) z( W8 E7 c8 Q  Q
  • 內(nèi)存?zhèn)鬏敶嬖诓粚ΨQ性(例如,Grace在從本地內(nèi)存復制到對等GH200時達到更高的吞吐量)
  • Hopper在跨越多個互連時通常能更有效地利用可用帶寬1 i" J$ n. {9 T' B
    , Y  l( a# u0 ~2 p8 [+ }* z4 L( U
    3. 延遲:
    6 q; Z7 `) S9 V; t
    4 d4 o. C2 u# U% J圖5:主內(nèi)存訪問延遲1 J0 i4 w- E  y+ ^" N

    + j* e) m: z0 _3 v& N: B圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。# I8 [) H$ x% G2 N

    9 o  X% j  V0 p) k. ^; Q優(yōu)化應用程序/ a2 p1 @: a% g
    理解這些性能特征對于在Quad GH200系統(tǒng)上優(yōu)化應用程序非常重要。讓我們來看一些示例工作負載及其基于內(nèi)存放置的性能:4 U0 U+ J2 Z; X+ [, Z8 v- e
    1. GEMM(通用矩陣乘法):6 o+ A1 X2 T. l. _( t1 _8 f
    4 f5 d5 O9 ~/ J4 T! S. P  d" K
    圖6:GEMM性能
    $ G$ X: t* L! X: M" T3 D& g$ D: e3 b. i" d  d
    圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點:
    1 }, n- R' @' p0 L" H
  • HBM放置對于最佳性能至關重要,特別是對于使用Tensor Cores的數(shù)據(jù)類型
  • 即使將一個矩陣移出HBM也可能顯著影響性能
    ; x$ Y3 A, d1 a

    , t3 r/ k( E0 F* P+ A$ H  ]2. LLM(大型語言模型)推理:
    $ l: S" g  H$ q* z, z
    0 v$ D: F/ \, m! T圖7:LLM推理時間
    + l; F  M' s: W4 @4 h
    : `3 r. @' p) N; n圖7顯示了不同模型和內(nèi)存分配的LLM推理時間。觀察結(jié)果:. g2 _  w! S) B
  • 內(nèi)存訪問速度對吞吐量起著根本作用
  • HBM分配提供最佳性能,而對等內(nèi)存訪問顯著影響推理時間' ]/ t& ~' Y2 M2 c/ B

    % l# y; F( R, o1 u3. NCCL(NVIDIA集體通信庫)操作:& _  n0 m( }0 j

    + T& c8 F0 |: f% G( u" ~- K3 `* y圖8:NCCL All Reduce和All Gather性能; v/ c, P+ x- _
    / H. q  \( y+ D  x) y
    圖8說明了節(jié)點內(nèi)All Reduce和All Gather操作的性能。關鍵點:
    % P6 X; K& x8 w0 W
  • 超級芯片局部性比使用的內(nèi)存類型更重要
  • 同一GH200內(nèi)存大大優(yōu)于對等訪問
    * ~5 d7 v7 J. {' z3 O% n* ^
    * Q' w, @. n2 w  d/ Y8 Z$ ~1 v
    最佳實踐和建議
    ; m* o4 Q" \; c8 W* x+ y基于從這些基準測試和應用程序示例中獲得的見解,以下是在Quad GH200系統(tǒng)上優(yōu)化內(nèi)存操作的一些最佳實踐:
  • 優(yōu)先使用HBM:盡可能將性能關鍵數(shù)據(jù)放在本地HBM內(nèi)存中,特別是對于GPU密集型工作負載。
  • 最小化跨GH200訪問:盡量將數(shù)據(jù)保持在執(zhí)行計算的GH200單元本地,因為對等內(nèi)存訪問會導致顯著的性能損失。
  • 謹慎利用統(tǒng)一內(nèi)存:雖然統(tǒng)一內(nèi)存簡化了編程,但要注意與顯式內(nèi)存管理相比的性能特征。
  • 考慮內(nèi)存?zhèn)鬏數(shù)牟粚ΨQ性:在設計數(shù)據(jù)移動模式時,要考慮不同內(nèi)存類型之間復制操作的不對稱性。
  • 優(yōu)化集體操作:對于使用NCCL或類似庫的應用程序,專注于超級芯片局部性以最大化性能。
  • 分析和迭代:使用分析工具識別應用程序中的內(nèi)存訪問模式,并根據(jù)系統(tǒng)的性能特征迭代優(yōu)化數(shù)據(jù)放置。
    : {% e3 B9 N" f  e& |[/ol]
    1 Z9 |( U0 D: _5 Z9 I0 C( R( J結(jié)論
    , {: A4 k5 I$ G! a) YQuad GH200節(jié)點為HPC和AI工作負載提供了強大的計算能力和內(nèi)存帶寬。然而,要充分利用其潛力,開發(fā)人員必須理解其復雜的內(nèi)存層次結(jié)構(gòu)并相應地優(yōu)化數(shù)據(jù)放置。通過遵循本文概述的最佳實踐并仔細考慮不同內(nèi)存操作的性能特征,可以顯著提高在這一先進異構(gòu)系統(tǒng)上應用程序的效率。3 H* z9 [& R) @& R( m

    9 C8 K* U/ h6 }! e+ w/ b- _參考文獻6 A1 E2 V4 [, a1 R" y
    [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.
    1 ~- _& c) h* \5 W, Y# E. U2 J" ~/ E/ ]" p- E! C
    END
    ; V5 h- G5 F! l1 y# y

      ?, Y  T: q( P6 P$ g
    ! {& \+ h& g. `軟件申請我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請體驗免費版PIC Studio軟件。無論是研究還是商業(yè)應用,PIC Studio都可提升您的工作效能。
    8 ?7 e1 O  c+ }" Z5 j* ^點擊左下角"閱讀原文"馬上申請
    : l* f9 v7 ~! N
    7 ?9 G, `5 V, Y8 d歡迎轉(zhuǎn)載
    1 N9 z0 D" h$ O7 G" l- O: f4 U+ K5 c6 Q6 O
    轉(zhuǎn)載請注明出處,請勿修改內(nèi)容和刪除作者信息!
    6 z7 O: ^4 W* P# p8 i) y7 `# x/ I( j! y5 D# `( C$ J! M

    5 y- n/ y7 U3 }: i) D7 `* L- U

    # g4 @$ k( O# x) e ( {; N% }7 u5 g" o: w! n+ D

    . v2 B! T9 W+ a: u8 a9 ~7 b6 C關注我們0 q2 \5 n9 A+ m+ U6 h* y6 X
    8 E; A" F3 X) m. o# i

    / @" S( V, B6 E; E
    . ?# g0 x( C  t! m( x7 J

    1 {" E% H5 e. t% X : f! Y2 W6 H3 n( j, J

    ( D. c  |2 q0 ?/ g- {' d, E- _0 E/ B( _ ( y6 R1 L* L7 o  G/ @& _, b
                         
    6 f  i4 q' m. s# @- C+ d& w/ b* p

    , i" M9 I6 [! [8 ]! r9 h! v& L- Y( H- `
    關于我們:8 E; e; y4 W4 z0 {5 a1 r4 S
    深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導體芯片設計自動化(EDA)的高科技軟件公司。我們自主開發(fā)特色工藝芯片設計和仿真軟件,提供成熟的設計解決方案如PIC Studio、MEMS Studio和Meta Studio,分別針對光電芯片、微機電系統(tǒng)、超透鏡的設計與仿真。我們提供特色工藝的半導體芯片集成電路版圖、IP和PDK工程服務,廣泛服務于光通訊、光計算、光量子通信和微納光子器件領域的頭部客戶。逍遙科技與國內(nèi)外晶圓代工廠及硅光/MEMS中試線合作,推動特色工藝半導體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶提供前沿技術(shù)與服務。
    ' p/ \! h5 J: _& Q& ]+ U
    6 y0 n6 t+ O( o- N% |8 @" qhttp://www.latitudeda.com/
    : [1 e2 C0 g$ n8 Z3 v(點擊上方名片關注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 回復

    使用道具 舉報

    發(fā)表回復

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

    本版積分規(guī)則


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