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

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

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

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

[復(fù)制鏈接]

552

主題

552

帖子

4418

積分

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

Rank: 4

積分
4418
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 前天 08:01 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
引言
( ^3 Y3 u# u& h/ e! ~2 z/ d7 N" n5 r# L高性能計(jì)算(HPC)和人工智能(AI)領(lǐng)域因異構(gòu)系統(tǒng)而發(fā)生了巨大變革,特別是那些集成了GPU的系統(tǒng)。隨著工作負(fù)載越來(lái)越受內(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ì)粒度訪問(wèn)。& Z) E; u/ z% `
7 H! M. F+ ^& l0 p0 n0 _" P( A9 W$ k
本文將探討Quad GH200節(jié)點(diǎn)的架構(gòu)(這是瑞士國(guó)家超級(jí)計(jì)算中心Alps超級(jí)計(jì)算機(jī)的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。
+ d$ E' }* P  J! F8 M, M$ K " }) L( I$ u3 O2 M  k6 J9 g: m5 C
, o& y& a& w" @" H- u0 l
架構(gòu)概述! z! q- M- ?) C9 Z
Quad GH200節(jié)點(diǎn)由四個(gè)GH200超級(jí)芯片組成,每個(gè)超級(jí)芯片結(jié)合了一個(gè)Grace CPU和一個(gè)Hopper GPU。這些單元通過(guò)NVLink和緩存一致性互連全面互聯(lián)。讓我們來(lái)看看關(guān)鍵組件:
' k, ^5 V; t2 G- z ( ]8 k6 }6 B1 N/ Y+ E
圖1:Quad GH200節(jié)點(diǎn)的架構(gòu)
! ]2 [1 K- z, I) }/ C
; z: ?9 B( E' W如圖1所示,每個(gè)GH200超級(jí)芯片具有以下特點(diǎn):
- r( Q9 F1 ^# ~8 ?, A# k( ?$ P
  • 一個(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帶寬)
    1 R" W& r7 j7 P; y2 C5 i
    0 Q; [% p2 U, i9 I* k( \
    GH200單元通過(guò)以下方式互連:8 L3 N! }0 K  J/ V9 [1 {2 d
  • NVLink:每個(gè)方向150 GB/s(總共900 GB/s)
  • Grace互連:每個(gè)方向150 GB/s
  • NVLink-C2C(C2C):每個(gè)方向450 GB/s(總共900 GB/s)
    0 M) \3 w7 B" f& R

    0 j, N" z/ v* F/ C9 H9 K* F; M1 x0 s  ?每個(gè)節(jié)點(diǎn)還通過(guò)單獨(dú)的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個(gè)方向提供25 GB/s(總共200 GB/s)的節(jié)點(diǎn)間通信。
    8 Y- f! v" M8 z. ]" ]+ f! n3 s7 n: A3 ?9 p3 Q' E
    內(nèi)存層次結(jié)構(gòu)和NUMA* J6 `; J; I4 q1 I5 E, @  s5 i
    Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(wèn)(NUMA)特性。
    - a  y4 d) A! g" m  e. y. u每個(gè)GH200由兩個(gè)NUMA節(jié)點(diǎn)組成:
  • 與Grace親和的LPDDR5內(nèi)存
  • 與Hopper親和的HBM3內(nèi)存( j5 l9 U& F6 P. u; }; x
    [/ol]
    & ?/ B9 C, z' z' _0 W( x1 Z總的來(lái)說(shuō),一個(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)。2 ]4 {& L# w' n2 Z6 O

    2 a$ a) T+ P. `- K* n理解數(shù)據(jù)路徑5 K9 a- n0 `3 @, _: x  @
    為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來(lái)看看讀取、寫入和復(fù)制操作:& g) b9 `0 f/ @& r

    $ A" A7 o' p# \) [, I圖2:Hopper操作的數(shù)據(jù)路徑
    4 R+ v% K! g  U5 o; W
    ) o1 X, @- y$ ^2 g/ S/ |圖2說(shuō)明了Hopper GPU執(zhí)行的讀取、寫入和復(fù)制操作的數(shù)據(jù)路徑。
    / h  X$ _6 ^, \7 N/ c: e9 b注意:
    $ P- m$ j5 a; q: l* p
  • 本地HBM訪問(wèn)具有最短的路徑和最高的帶寬(4000 GB/s)
  • 跨C2C互連的操作限制在450 GB/s
  • 復(fù)制操作可能需要多次互連遍歷,影響可達(dá)到的帶寬
    2 `) k1 P8 L  L6 `8 ^' F

    # D' v; x2 K: f; T& m2 U3 T3 y內(nèi)存操作基準(zhǔn)測(cè)試( c5 B3 F% [' T3 y/ F" ~( e( G# m
    為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準(zhǔn)測(cè)試的結(jié)果:
    ; m# @8 H0 h+ Z% a1. 讀取和寫入操作:3 B' @; J! a* ^$ ]( k9 {

    ' w+ _2 p. {# W; B% o. y圖3:讀取和寫入吞吐量
    ( z- H& I5 i& T' s
    % G0 X8 l# G4 H: m4 ^% k( `圖3顯示了Grace和Hopper在不同類型內(nèi)存上進(jìn)行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負(fù)載下的情況。3 u) T! _- A( Z) \  n7 m
    主要觀察:
    ) D) G+ \1 [" n0 I
  • Hopper通常在本地內(nèi)存訪問(wèn)時(shí)更好地利用C2C互連
  • 跨越C2C和NVLink的操作會(huì)產(chǎn)生顯著開銷
  • 在負(fù)載下,對(duì)HBM的寫入受影響最大,特別是對(duì)Grace而言! f' h) e2 \! C* H! u1 ]
    & U" C& U6 n$ v' k  _$ o* ?
    2. 復(fù)制操作:
    ; w$ q0 B5 n. h + ~5 l( r# r* j
    圖4:復(fù)制吞吐量
    $ p) N7 Y8 S7 `! D( Z0 C& l
    5 O2 J2 W  d# y7 c. x1 O2 P圖4說(shuō)明了Grace和Hopper在不同源和目標(biāo)內(nèi)存類型之間進(jìn)行復(fù)制操作的吞吐量。, t* t% q- C: Y3 N% f/ p
    值得注意的發(fā)現(xiàn):8 x) p: M( ~1 B& a) V6 r
  • 內(nèi)存?zhèn)鬏敶嬖诓粚?duì)稱性(例如,Grace在從本地內(nèi)存復(fù)制到對(duì)等GH200時(shí)達(dá)到更高的吞吐量)
  • Hopper在跨越多個(gè)互連時(shí)通常能更有效地利用可用帶寬" w! t& w/ Y. I
    ' q  [# ]  ^7 q. B6 k: i9 e
    3. 延遲:6 J/ `! |3 d. h; C6 t
    / |  h7 k' e* y3 h' e
    圖5:主內(nèi)存訪問(wèn)延遲
    8 f% P" V  h( ?8 g4 F) c4 L" g0 x- R$ ^  ~, H" p- a
    圖5顯示了Grace和Hopper的主內(nèi)存訪問(wèn)延遲。有趣的是,跨越C2C互連的訪問(wèn)(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。9 Q/ P/ t" t. g5 }: I5 P" B

    1 U/ t2 @/ s3 K* _% o9 v優(yōu)化應(yīng)用程序
    " g: D( Q4 z3 L  S/ D' ?, [理解這些性能特征對(duì)于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來(lái)看一些示例工作負(fù)載及其基于內(nèi)存放置的性能:  G7 I- v- ?( c6 H! A
    1. GEMM(通用矩陣乘法):
    ( h- f# `( S, t$ u+ k / G2 |7 B: h9 m3 [$ \( i  U9 h
    圖6:GEMM性能
    & \* ?2 X: @6 L
    : W; k+ i8 V2 K" U圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點(diǎn):
    4 e" ]* o" K' i3 |2 N
  • HBM放置對(duì)于最佳性能至關(guān)重要,特別是對(duì)于使用Tensor Cores的數(shù)據(jù)類型
  • 即使將一個(gè)矩陣移出HBM也可能顯著影響性能% ?; @/ q# V0 B' [

    , c) }' Z7 p% J: v* A2. LLM(大型語(yǔ)言模型)推理:2 A9 E3 H% ~& m9 U- M; `" E6 Q( T( m
    ) Z  o- W( b# T3 }( F
    圖7:LLM推理時(shí)間
    7 A. f  X0 ~, U% y8 `& L& U. z' E6 V9 w6 z% Q
    圖7顯示了不同模型和內(nèi)存分配的LLM推理時(shí)間。觀察結(jié)果:; D/ i7 m3 \; Q8 O. B' t( i! J4 }5 Y
  • 內(nèi)存訪問(wèn)速度對(duì)吞吐量起著根本作用
  • HBM分配提供最佳性能,而對(duì)等內(nèi)存訪問(wèn)顯著影響推理時(shí)間, Z; B# l$ S5 V

    " u# v9 x' x  ]! k3. NCCL(NVIDIA集體通信庫(kù))操作:) J+ T. {6 N, O; d0 {

    ) w+ h, S# l+ B9 M6 [4 ^& n圖8:NCCL All Reduce和All Gather性能, V7 ?$ P& \" L! ]  {

    7 p4 {3 m! N. o圖8說(shuō)明了節(jié)點(diǎn)內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點(diǎn):# l0 t. E  q% d% a
  • 超級(jí)芯片局部性比使用的內(nèi)存類型更重要
  • 同一GH200內(nèi)存大大優(yōu)于對(duì)等訪問(wèn)
    0 O! [7 w. J. k( `( c9 O% ?" Z% R

    . z! z2 m4 y* x0 H4 \. M- ~' U最佳實(shí)踐和建議# W  k: p: R" M8 |1 n7 Q! X
    基于從這些基準(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訪問(wèn):盡量將數(shù)據(jù)保持在執(zhí)行計(jì)算的GH200單元本地,因?yàn)閷?duì)等內(nèi)存訪問(wèn)會(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或類似庫(kù)的應(yīng)用程序,專注于超級(jí)芯片局部性以最大化性能。
  • 分析和迭代:使用分析工具識(shí)別應(yīng)用程序中的內(nèi)存訪問(wèn)模式,并根據(jù)系統(tǒng)的性能特征迭代優(yōu)化數(shù)據(jù)放置。
    * L. w. R2 Z/ k! ?/ J, |[/ol]
    " u" E( `3 P" G2 T7 l, o- q/ r結(jié)論
    9 R% ^$ _% y& x+ j4 b0 MQuad 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ù)放置。通過(guò)遵循本文概述的最佳實(shí)踐并仔細(xì)考慮不同內(nèi)存操作的性能特征,可以顯著提高在這一先進(jìn)異構(gòu)系統(tǒng)上應(yīng)用程序的效率。
    ' Y: x* a* a; X+ J# p
    ) N( C" _5 N6 B; S6 o+ \6 g參考文獻(xiàn)
    2 L: W! z. ^* D$ W9 a+ 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.
    8 p9 w3 r* u8 A
    8 [4 s; ]9 }  r0 G0 x8 z3 H* ^4 {% {END
    ' L5 V" s1 \3 @" A: B4 R! D' i$ K4 M
    2 }5 _  \, q1 J' h$ o+ p% y) {7 u/ H
    / s( ^% Z/ ~$ Q  \' E, o* u4 I, L
    軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無(wú)論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。
    , d+ ?5 t/ G/ P* {) C9 K  U點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)
    2 E3 J) j1 m5 B
    ( w8 O% I' Q# `/ d# c歡迎轉(zhuǎn)載
    4 I7 j4 @' R9 j5 D" ]) S4 t: o8 \" s# a; s' n3 D0 {
    轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!
    $ o/ s' [. H$ V  c/ S& [0 N& s# y, N3 ]* e8 L
    3 {4 g; L% ?) V! h; e

    3 j8 G' E' ^7 g5 s! ]
    , ?; q! d% i/ \$ k" u; t
    " h0 T# R5 N2 l- J% T+ q關(guān)注我們
    / I( H' R/ u" z, i* K" |) u! u, b
    , U! E; Z/ i0 v
    9 P5 q0 N  Q! \

    6 K1 \' V6 Y3 M  V( W' w
    2 U  R; s0 L7 @

    . o% |" ~- K  \: S3 t' G4 i" W

    / v( J/ c% n7 X) w5 W" B  }7 Q
    - c) j& l4 @+ w8 k( d& R
                         
    / W3 l: n7 ~+ ]+ l1 x, o
    5 D# }1 `3 j' s# r$ e3 O. u( W+ J
    $ Z4 A" ~$ M8 D. H' H

    + |* P& S5 B: X" ~6 C# p關(guān)于我們:
    , d6 u: n. o  E/ y( r深圳逍遙科技有限公司(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)域的頭部客戶。逍遙科技與國(guó)內(nèi)外晶圓代工廠及硅光/MEMS中試線合作,推動(dòng)特色工藝半導(dǎo)體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶提供前沿技術(shù)與服務(wù)。+ E# V' i+ T- i+ \7 N  l

    * z5 h. [# ]: Z/ O# Whttp://www.latitudeda.com/
    3 C" f1 Z& s- n: f; Y(點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 發(fā)表回復(fù)

    本版積分規(guī)則


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