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

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

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

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

[復(fù)制鏈接]

552

主題

552

帖子

4418

積分

四級(jí)會(huì)員

Rank: 4

積分
4418
跳轉(zhuǎn)到指定樓層
樓主
引言6 [5 t+ V% \. B- A: V
高性能計(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超級(jí)芯片(GH200)代表了緊密耦合異構(gòu)系統(tǒng)的重大進(jìn)步,提供了統(tǒng)一的地址空間和對(duì)系統(tǒng)所有主內(nèi)存的透明細(xì)粒度訪問。+ x' f$ p$ g3 |( \6 e' o

5 e! [  q7 s7 c4 Q' P; @+ c. B本文將探討Quad GH200節(jié)點(diǎn)的架構(gòu)(這是瑞士國家超級(jí)計(jì)算中心Alps超級(jí)計(jì)算機(jī)的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。
% d0 A* v) g6 o) m, y1 A. R % R' ~! |+ S* i0 i

, N( b% D! D. n8 O5 ~! i* ]" S架構(gòu)概述
7 v/ m2 j( @/ k! rQuad GH200節(jié)點(diǎn)由四個(gè)GH200超級(jí)芯片組成,每個(gè)超級(jí)芯片結(jié)合了一個(gè)Grace CPU和一個(gè)Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關(guān)鍵組件:4 i+ s+ b0 A; E: E* X6 z' G) @
2 \9 j! ?1 g, L. M6 n, @' U
圖1:Quad GH200節(jié)點(diǎn)的架構(gòu)0 q. b+ {- s$ Z- i0 ?" w4 Q9 ~
$ p$ Z; h, R2 s+ ~8 x& D
如圖1所示,每個(gè)GH200超級(jí)芯片具有以下特點(diǎn):9 e# b9 r! J4 y. |: Q. s
  • 一個(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帶寬)6 e: b$ `% }% z$ j

    & v" C& D- i& Z; F3 [1 }' b9 C. x: |3 tGH200單元通過以下方式互連:
    - s) R; {9 J( o
  • NVLink:每個(gè)方向150 GB/s(總共900 GB/s)
  • Grace互連:每個(gè)方向150 GB/s
  • NVLink-C2C(C2C):每個(gè)方向450 GB/s(總共900 GB/s)0 P. Y+ F1 |3 Q1 a+ t
    9 f+ ^9 l' h: Q
    每個(gè)節(jié)點(diǎn)還通過單獨(dú)的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個(gè)方向提供25 GB/s(總共200 GB/s)的節(jié)點(diǎn)間通信。
    4 _0 D8 w5 J! ^, M# g5 u
    * w, u- T& [+ d7 j0 N4 o內(nèi)存層次結(jié)構(gòu)和NUMA
    + Z& e' H  @3 ~" X8 }4 ~Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。
    / ]3 n. w/ Q; O! K: W: ~; W. D每個(gè)GH200由兩個(gè)NUMA節(jié)點(diǎn)組成:
  • 與Grace親和的LPDDR5內(nèi)存
  • 與Hopper親和的HBM3內(nèi)存7 ?& }$ z0 e1 D8 Z
    [/ol]
    ) m0 Z( h* i! H/ B6 t7 R總的來說,一個(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)。
    , z& D! x$ b: o( x
    9 p  H( c$ R2 |* i理解數(shù)據(jù)路徑7 K7 ~, \. Y3 q9 f2 R+ O3 F
    為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復(fù)制操作:
    " |" O& h. K" W# ]/ N. @5 z0 S
    6 \; `2 K  V' S: A圖2:Hopper操作的數(shù)據(jù)路徑
    & F# Y& G3 h; W( a5 M; l5 H/ k3 r9 m; ?0 ?4 v" ~( I
    圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復(fù)制操作的數(shù)據(jù)路徑。% V1 H, ~4 k* o& Q5 [
    注意:; R3 l8 n1 o7 d/ |7 m9 K) G( E( q
  • 本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)
  • 跨C2C互連的操作限制在450 GB/s
  • 復(fù)制操作可能需要多次互連遍歷,影響可達(dá)到的帶寬
    / ~5 h! ?; \# [9 n& F! n

    4 X$ _5 h; j  m. j3 v5 _內(nèi)存操作基準(zhǔn)測(cè)試
    . ]2 k& L8 K2 W8 |# y7 `為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準(zhǔn)測(cè)試的結(jié)果:$ q4 s- U  d$ y% p9 N
    1. 讀取和寫入操作:
    : O0 }! o2 Y9 F. Y; G; g: t& Q. g; X- K ( I  E6 F  b  x6 `$ p( N8 X, D6 S
    圖3:讀取和寫入吞吐量0 X0 g; Q; X0 k. E1 w

    ' f* L! W9 c2 g' K3 Z; I& v圖3顯示了Grace和Hopper在不同類型內(nèi)存上進(jìn)行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負(fù)載下的情況。
    $ ^' t. J1 g/ t8 q4 u主要觀察:) r/ W# v8 U1 }( r4 I. Y
  • Hopper通常在本地內(nèi)存訪問時(shí)更好地利用C2C互連
  • 跨越C2C和NVLink的操作會(huì)產(chǎn)生顯著開銷
  • 在負(fù)載下,對(duì)HBM的寫入受影響最大,特別是對(duì)Grace而言
    ( V( j. N* j+ a! O" _9 A) ^. v

    : s; S7 l4 [5 I# Z; I6 Z! L2. 復(fù)制操作:7 |2 i5 ?+ p* `: u! w0 d' _
    3 w/ V2 }) d4 Y* O% ^) M
    圖4:復(fù)制吞吐量
    , V2 a1 q$ q# q1 [4 N% k  A, f3 I& {* [4 E: E' q( @! r  r$ \& }% a
    圖4說明了Grace和Hopper在不同源和目標(biāo)內(nèi)存類型之間進(jìn)行復(fù)制操作的吞吐量。+ R; S% ?3 z/ C' ~7 Z
    值得注意的發(fā)現(xiàn):( I9 F) q0 X# I4 p6 i8 B2 r5 ?+ C6 A
  • 內(nèi)存?zhèn)鬏敶嬖诓粚?duì)稱性(例如,Grace在從本地內(nèi)存復(fù)制到對(duì)等GH200時(shí)達(dá)到更高的吞吐量)
  • Hopper在跨越多個(gè)互連時(shí)通常能更有效地利用可用帶寬
    : G& J7 Z/ O) k- H( \
    / l0 w5 j: D' {
    3. 延遲:
    $ z& o$ v% _4 I' X# V
    ' S! O8 }6 |- _1 P- G圖5:主內(nèi)存訪問延遲
    ( f; |  ]1 ?/ q, H* E" N1 H, j; l6 ?
    圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。
    / r8 S0 v1 l3 ~  G+ P$ C# ?' Y: m* ]) a5 o) `6 p
    優(yōu)化應(yīng)用程序; V$ M. x& e: c0 }- i/ @9 G
    理解這些性能特征對(duì)于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來看一些示例工作負(fù)載及其基于內(nèi)存放置的性能:
    - A4 n4 a  _4 a2 n% k; `8 N2 u3 B1. GEMM(通用矩陣乘法):) R( P9 A! q" R3 g% a$ d4 c

    8 z6 i; _6 B. n4 _/ f: Q9 T* K圖6:GEMM性能& z% u. x4 ^+ t. e

    6 a& `  N. ~  Z2 E% H1 \# P圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點(diǎn):
    * S9 n( i; L" ?
  • HBM放置對(duì)于最佳性能至關(guān)重要,特別是對(duì)于使用Tensor Cores的數(shù)據(jù)類型
  • 即使將一個(gè)矩陣移出HBM也可能顯著影響性能# E0 W6 ^# R5 w5 g8 l% o

    * r- L9 A% h3 v2. LLM(大型語言模型)推理:5 X3 [  t0 `$ _3 j" k" z. k7 x

    9 Y( V+ y) V7 y6 S; h; S圖7:LLM推理時(shí)間
    5 ?( t( R2 C3 d' {; d% i+ T( l' f9 ~( E9 J# I7 Z) q/ ^) y" s
    圖7顯示了不同模型和內(nèi)存分配的LLM推理時(shí)間。觀察結(jié)果:
    # ^, J1 i" I5 Q  B  H* H. t
  • 內(nèi)存訪問速度對(duì)吞吐量起著根本作用
  • HBM分配提供最佳性能,而對(duì)等內(nèi)存訪問顯著影響推理時(shí)間( x! o6 S1 s- D& ^7 u( {1 P
    $ q# V2 S8 l& l, e/ |
    3. NCCL(NVIDIA集體通信庫)操作:
    / h) H# J2 j- T" n- M  I
    ' ], b) L: y4 ]+ z圖8:NCCL All Reduce和All Gather性能
      f! p" W5 l5 b& D' d* G
      k* z' x& y8 S圖8說明了節(jié)點(diǎn)內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點(diǎn):
    ( ]8 v6 D4 x7 n
  • 超級(jí)芯片局部性比使用的內(nèi)存類型更重要
  • 同一GH200內(nèi)存大大優(yōu)于對(duì)等訪問% ^! f5 @+ g5 L6 K; Y0 S) x4 }( O

    ! z' B5 [( k* @% C: v最佳實(shí)踐和建議5 p- V; f  ~, b: H) W, f5 P( o+ |
    基于從這些基準(zhǔn)測(cè)試和應(yīng)用程序示例中獲得的見解,以下是在Quad GH200系統(tǒng)上優(yōu)化內(nèi)存操作的一些最佳實(shí)踐:
  • 優(yōu)先使用HBM:盡可能將性能關(guān)鍵數(shù)據(jù)放在本地HBM內(nèi)存中,特別是對(duì)于GPU密集型工作負(fù)載。
  • 最小化跨GH200訪問:盡量將數(shù)據(jù)保持在執(zhí)行計(jì)算的GH200單元本地,因?yàn)閷?duì)等內(nèi)存訪問會(huì)導(dǎo)致顯著的性能損失。
  • 謹(jǐn)慎利用統(tǒng)一內(nèi)存:雖然統(tǒng)一內(nèi)存簡(jiǎn)化了編程,但要注意與顯式內(nèi)存管理相比的性能特征。
  • 考慮內(nèi)存?zhèn)鬏數(shù)牟粚?duì)稱性:在設(shè)計(jì)數(shù)據(jù)移動(dòng)模式時(shí),要考慮不同內(nèi)存類型之間復(fù)制操作的不對(duì)稱性。
  • 優(yōu)化集體操作:對(duì)于使用NCCL或類似庫的應(yīng)用程序,專注于超級(jí)芯片局部性以最大化性能。
  • 分析和迭代:使用分析工具識(shí)別應(yīng)用程序中的內(nèi)存訪問模式,并根據(jù)系統(tǒng)的性能特征迭代優(yōu)化數(shù)據(jù)放置。
    / D1 a7 E; x8 F. E[/ol]4 B2 ^# K, u* t1 e$ U2 y- g6 A
    結(jié)論
    ( P6 g) r' k) z# OQuad 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 p, w) _  o* x+ J& ]) l8 D
    $ ^& A) A' h3 y$ p9 j參考文獻(xiàn)
    " o# {; B0 \7 [6 t5 R2 F[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.
    % f- @! v. D8 W! ^
    % c! w' |: f# H- N. `6 [4 W/ G0 fEND1 N6 w, W! K2 T' k0 K# |
    * h( m) L/ P, T6 R0 H% R
    + _6 P$ |) a6 i, y4 o
    軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。
    - X' c0 Q# r- {' h9 @0 I; f點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)1 G0 _0 O8 x5 y) R% M6 P

    # P; J* A5 o1 w; y4 g0 x& ]歡迎轉(zhuǎn)載; z$ \4 V8 E) s

    & N2 _! x2 Y! i+ X: V4 p轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!
    0 s- t1 O/ L+ V, r1 d" h% r
    * R# X$ y" Z3 W  k5 x/ q3 v# g- z6 t# y  Y% x  {% I9 p: e
    : O+ V6 i& k  @4 R; m2 s# T- |
    , ]+ z% S6 e# Z  O8 f1 C
    $ [  `, c* B6 b
    關(guān)注我們
    0 R1 j" E3 L$ O9 ]; W
    ! w1 h& D9 d" M. V8 ?& d1 B

    ! u5 ]% R8 m+ I; P! O, N4 U  ?
    1 k  f% r1 }* X

    4 L  o8 G. ]5 W9 j 7 t3 d  C& m0 S) G- `
    " Y- `( T. B1 W0 E9 m

    / d* T7 p% V9 h6 K
                          ' ^# j+ y5 a4 k( p. n" F# ~7 ]
    : @% t# }; c1 X' V

    4 }' [0 ?% B& `: u' k+ c
    ! C0 m  C$ x# ]0 x- A$ M, f1 x# K! ^- @- i關(guān)于我們:
    # K$ e4 \% R  w! ]& s  u深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導(dǎo)體芯片設(shè)計(jì)自動(dòng)化(EDA)的高科技軟件公司。我們自主開發(fā)特色工藝芯片設(shè)計(jì)和仿真軟件,提供成熟的設(shè)計(jì)解決方案如PIC Studio、MEMS Studio和Meta Studio,分別針對(duì)光電芯片、微機(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ù)。
    3 w8 H4 {# r9 s# G9 E6 T" r: d: {6 u0 |' v# C: o, y  l* f
    http://www.latitudeda.com/. M9 I* g7 [5 m# }1 B2 L
    (點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 發(fā)表回復(fù)

    本版積分規(guī)則


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