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

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

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

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

[復(fù)制鏈接]

552

主題

552

帖子

4418

積分

四級會員

Rank: 4

積分
4418
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 前天 08:01 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
引言- U# l" g) n* g( A+ C
高性能計算(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)的重大進步,提供了統(tǒng)一的地址空間和對系統(tǒng)所有主內(nèi)存的透明細(xì)粒度訪問。7 ]( ]( v% R9 k1 w

8 [# h0 W! s* n. g+ d3 I本文將探討Quad GH200節(jié)點的架構(gòu)(這是瑞士國家超級計算中心Alps超級計算機的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。6 q8 C0 y9 r0 j* d' D# Q2 H

* o* E8 K; \, d+ _! }
+ @' Q; X0 I! r* U架構(gòu)概述
( X3 H% v5 C/ ~( _3 u/ CQuad GH200節(jié)點由四個GH200超級芯片組成,每個超級芯片結(jié)合了一個Grace CPU和一個Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關(guān)鍵組件:( t$ V" W: |+ R7 q) u# s: k( J, l2 ?

% q4 r' q4 X7 Y" g' `4 N' W圖1:Quad GH200節(jié)點的架構(gòu)
$ Z- J$ |/ [+ W3 q& F  y  ?' F9 V/ ~. }
如圖1所示,每個GH200超級芯片具有以下特點:
/ o3 s0 Y2 d- j. ]: p
  • 一個Grace CPU,有72個Arm Neoverse V2核心
  • 一個Hopper GPU,有132個流式多處理器(SMs)
  • 96GB的HBM3內(nèi)存(4000 GB/s帶寬)
  • 128GB的LPDDR5內(nèi)存(500 GB/s帶寬). |& t3 U( q0 y
    , O3 }" m5 c" q: \
    GH200單元通過以下方式互連:
    % z3 ~! k- }$ a8 Q
  • NVLink:每個方向150 GB/s(總共900 GB/s)
  • Grace互連:每個方向150 GB/s
  • NVLink-C2C(C2C):每個方向450 GB/s(總共900 GB/s)3 b5 F: {( ]0 S+ F) |" v# p
    + m) E2 i3 ^8 I! n, @$ K" d
    每個節(jié)點還通過單獨的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個方向提供25 GB/s(總共200 GB/s)的節(jié)點間通信。
    : F  M" W/ f$ A% s! z  @; U) b  F* ~- |3 _$ A
    內(nèi)存層次結(jié)構(gòu)和NUMA2 j4 X+ W! D6 s
    Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。
    6 k8 i! }7 C4 ^& c0 I( A! p# O每個GH200由兩個NUMA節(jié)點組成:
  • 與Grace親和的LPDDR5內(nèi)存
  • 與Hopper親和的HBM3內(nèi)存
      @3 `& T& {6 R[/ol]
    % p# D: `" Z: i; o' s7 T總的來說,一個Quad GH200節(jié)點有八個NUMA節(jié)點,四個與Grace CPU相關(guān)(NUMA 0-3),四個與Hopper GPU相關(guān)(NUMA 4, 12, 20, 28)。
    6 m( B9 ?5 f9 X5 m: |1 z7 Q/ }3 K! `) W4 Z$ q& s+ m' Z- T
    理解數(shù)據(jù)路徑
    9 `5 s0 ~) {8 v' l4 ?  H為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復(fù)制操作:* k3 b- E( O& Y; |$ \
    ; m# Q, H8 Z, r8 S
    圖2:Hopper操作的數(shù)據(jù)路徑
    6 c0 q0 T( h1 b* d# h, a$ V( D
    圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復(fù)制操作的數(shù)據(jù)路徑。) v8 m' |# f* U2 w
    注意:- A; p3 L8 o3 s
  • 本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)
  • 跨C2C互連的操作限制在450 GB/s
  • 復(fù)制操作可能需要多次互連遍歷,影響可達到的帶寬6 {0 p4 d, w$ x2 ?# N

    ) V, Y" g1 ], N8 M; _內(nèi)存操作基準(zhǔn)測試2 A. i; R5 L! U: }
    為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準(zhǔn)測試的結(jié)果:
    / D) D' U( J( Q9 _1. 讀取和寫入操作:
    # V& q! r+ M  N9 H- s) P/ x! I
    , H% D% A, @# P5 s& p$ Z0 V圖3:讀取和寫入吞吐量
    ! R/ |. W1 a7 x: F9 }" m. D. _  [: m! `
    圖3顯示了Grace和Hopper在不同類型內(nèi)存上進行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負(fù)載下的情況。
    . @& f0 p8 o4 u5 b, T; H主要觀察:
    3 W8 W" R/ L7 d; x
  • Hopper通常在本地內(nèi)存訪問時更好地利用C2C互連
  • 跨越C2C和NVLink的操作會產(chǎn)生顯著開銷
  • 在負(fù)載下,對HBM的寫入受影響最大,特別是對Grace而言) t* G) C' V- R- K2 A

    7 i0 b, ?) z' M' v! G2. 復(fù)制操作:
    9 O! r+ p2 r* G1 U% {2 T+ R
    ! F  c, l' }3 S% Y1 n0 l) J圖4:復(fù)制吞吐量$ g, k; q1 A1 h& V0 d. j
    & r$ o9 n; e# a$ ]2 q' a3 k4 g
    圖4說明了Grace和Hopper在不同源和目標(biāo)內(nèi)存類型之間進行復(fù)制操作的吞吐量。
    ! s) C- T! u! F6 `值得注意的發(fā)現(xiàn):
    / S% S) m5 M" w  y& C* z. c7 S7 _
  • 內(nèi)存?zhèn)鬏敶嬖诓粚ΨQ性(例如,Grace在從本地內(nèi)存復(fù)制到對等GH200時達到更高的吞吐量)
  • Hopper在跨越多個互連時通常能更有效地利用可用帶寬
    5 p# }% N4 [" U5 u

    # w* q2 }1 ]8 P+ D! O3. 延遲:
    5 t4 Y" t" M8 [/ P
    4 r* P; P6 W6 \+ D5 S圖5:主內(nèi)存訪問延遲: P6 P; X; O% }

    ) F$ H9 G/ @$ Z/ B8 X6 H7 M圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。
    9 @- p& t) @" K; \4 v& a3 J' g: E' ~. l' J
    優(yōu)化應(yīng)用程序
    + B4 c" p4 k. h1 `1 k6 `- G1 h4 N理解這些性能特征對于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來看一些示例工作負(fù)載及其基于內(nèi)存放置的性能:/ B: C  G* e5 t, f
    1. GEMM(通用矩陣乘法):' O9 g4 K2 I  [. S# I8 x4 [* f

    / I4 j$ B' B3 t/ D8 Q8 z1 {7 N圖6:GEMM性能
    ' ]0 w+ B& k* f6 b% ~+ g* q2 j, o7 `6 s9 ?8 Y
    圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點:
    0 v: {! D8 I& m( J+ O- t
  • HBM放置對于最佳性能至關(guān)重要,特別是對于使用Tensor Cores的數(shù)據(jù)類型
  • 即使將一個矩陣移出HBM也可能顯著影響性能
    4 a% d/ f0 e# k/ p( I+ \3 G" o

    $ Q5 B' o0 |3 G- `2. LLM(大型語言模型)推理:1 v9 s. n, W4 h& s, r  w* q
    0 p, {1 Y+ _" ]  g: |( f% F
    圖7:LLM推理時間( [2 I. R! H! D
    $ d1 z6 K% m1 k1 a+ S
    圖7顯示了不同模型和內(nèi)存分配的LLM推理時間。觀察結(jié)果:
    - |9 p1 S  R9 ]! u: w& w
  • 內(nèi)存訪問速度對吞吐量起著根本作用
  • HBM分配提供最佳性能,而對等內(nèi)存訪問顯著影響推理時間
    ( {4 n5 c! _3 A8 n* b1 g7 V/ Z, K
    ! Y+ b  G$ u' y( O$ z6 k" M9 R
    3. NCCL(NVIDIA集體通信庫)操作:
    7 M- ?  l$ p6 w2 k- w
    * z2 U3 B) S! F# f) f0 n圖8:NCCL All Reduce和All Gather性能2 s$ d- ^" Q" s: y# g! ]! X
    0 e6 H# O# ^# v7 @, [
    圖8說明了節(jié)點內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點:8 O6 e# D  J* b5 [: r5 c4 N! E
  • 超級芯片局部性比使用的內(nèi)存類型更重要
  • 同一GH200內(nèi)存大大優(yōu)于對等訪問# m2 Q1 {8 N7 o" M! t% i

      H3 _- v  V" k, x5 E( K) F9 w最佳實踐和建議
    $ I. b0 p$ ?! C4 P( O1 @* s- D基于從這些基準(zhǔn)測試和應(yīng)用程序示例中獲得的見解,以下是在Quad GH200系統(tǒng)上優(yōu)化內(nèi)存操作的一些最佳實踐:
  • 優(yōu)先使用HBM:盡可能將性能關(guān)鍵數(shù)據(jù)放在本地HBM內(nèi)存中,特別是對于GPU密集型工作負(fù)載。
  • 最小化跨GH200訪問:盡量將數(shù)據(jù)保持在執(zhí)行計算的GH200單元本地,因為對等內(nèi)存訪問會導(dǎo)致顯著的性能損失。
  • 謹(jǐn)慎利用統(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ù)放置。7 g" k7 p5 g9 _+ Y# Q. O  @# w- e
    [/ol]: Y( v( b0 O2 |& K' h
    結(jié)論
      A" b' J6 B) i+ LQuad GH200節(jié)點為HPC和AI工作負(fù)載提供了強大的計算能力和內(nèi)存帶寬。然而,要充分利用其潛力,開發(fā)人員必須理解其復(fù)雜的內(nèi)存層次結(jié)構(gòu)并相應(yīng)地優(yōu)化數(shù)據(jù)放置。通過遵循本文概述的最佳實踐并仔細(xì)考慮不同內(nèi)存操作的性能特征,可以顯著提高在這一先進異構(gòu)系統(tǒng)上應(yīng)用程序的效率。' X+ N% A/ Q8 Y. S8 E( x# j

    ; a: q, r1 g% d& F5 a7 S2 E9 ?參考文獻5 h& i% X6 N0 e+ A+ n. `1 `
    [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.8 W" ^  l0 M8 N) w
    0 u# {& m1 L6 y* t& y  z
    END
    ( e( W- W+ Q2 {, j" ^8 K6 \+ q
    4 _7 e7 w0 P/ h0 y- K( s

    4 u+ n% H" W" o  t, J3 ^軟件申請我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請體驗免費版PIC Studio軟件。無論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。
    $ F0 k! B/ O# ]' l6 C. q/ \0 g點擊左下角"閱讀原文"馬上申請2 C. @- O; ?* m$ v. j% x. V( _
    8 E2 C# `/ w2 a# \% w( K- R
    歡迎轉(zhuǎn)載( W+ T! l: D$ s9 H5 G& |
    " l' O" g. Y. r
    轉(zhuǎn)載請注明出處,請勿修改內(nèi)容和刪除作者信息!" p1 Q& \, O2 m3 q& L

    6 U- U; z+ ?8 t* ^. N9 Z  a
      F5 j  v8 w; d4 l& z

    6 p5 j0 \% i% H9 d 7 G, Q: {& h# E% B, E1 ?
    $ x- w. s2 r8 D$ e
    關(guān)注我們
    ) {3 T$ O; ?4 i
    % _) J  R6 R! J0 F5 J0 M

    / L- ^0 S. N4 G4 o
    , J" V. i: o# u  s. `) [; j
    3 V+ R* ]5 R8 S7 b. e

    . D8 |+ m" ^& L9 [/ d) i$ e

    & @2 b5 y6 v, d4 C. c* U6 m
    ) o1 s( f3 k, e1 g* K3 t
                          ' O, m8 m& _* N4 P

    + D, q1 R1 r0 V. w) j$ ^

    3 U; C  E6 b0 [! Z& T' G1 v8 [
    ( b+ j7 k. l+ M關(guān)于我們:
    , x, @3 x" c% Z% p深圳逍遙科技有限公司(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ù)。
    # S" h4 g# ~/ S& S9 ~. d! B8 L' G4 l" b( X- q9 Y% R* ?
    http://www.latitudeda.com/+ g% G9 S3 a8 ?. C
    (點擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 回復(fù)

    使用道具 舉報

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

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

    本版積分規(guī)則


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