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

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

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

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

[復(fù)制鏈接]

552

主題

552

帖子

4418

積分

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

Rank: 4

積分
4418
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-11-12 08:01:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
引言1 q% a6 A) R9 m5 T  F
高性能計(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)。# U% a/ \8 q' ]* B, e! f

* Q  b" ^; c( [本文將探討Quad GH200節(jié)點(diǎn)的架構(gòu)(這是瑞士國(guó)家超級(jí)計(jì)算中心Alps超級(jí)計(jì)算機(jī)的基本構(gòu)建塊),并提供有關(guān)如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見(jiàn)解[1]。: d2 \/ A1 K  t* @6 ]8 y8 ^
* }; S6 n; j- h. W1 y% C8 H1 C

; Q3 M4 x+ B) h) d6 I$ _; ~1 F架構(gòu)概述; ^+ ^8 a9 F4 j
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)鍵組件:( ^- i2 D' Z# V4 g/ U

3 s  S+ T  `! n: E  ?9 _) q圖1:Quad GH200節(jié)點(diǎn)的架構(gòu)( ?3 G' c0 ]5 b' B. M; F1 a( d

' ^) \0 g, v) w  M4 H* f. }# n+ |+ T如圖1所示,每個(gè)GH200超級(jí)芯片具有以下特點(diǎn):: T$ [/ x; A+ d/ ^# X# u
  • 一個(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帶寬)7 J4 ^& C# j3 f7 b6 z" i

    / }& g  a- M2 R1 e0 iGH200單元通過(guò)以下方式互連:- I, M( M# Y7 i/ N- g0 m
  • NVLink:每個(gè)方向150 GB/s(總共900 GB/s)
  • Grace互連:每個(gè)方向150 GB/s
  • NVLink-C2C(C2C):每個(gè)方向450 GB/s(總共900 GB/s)
    / C! Q) `2 e. p2 v$ t0 v

    4 h3 b$ R- N3 K5 K, n5 \4 d每個(gè)節(jié)點(diǎn)還通過(guò)單獨(dú)的網(wǎng)絡(luò)接口卡連接到Slingshot網(wǎng)絡(luò),每個(gè)方向提供25 GB/s(總共200 GB/s)的節(jié)點(diǎn)間通信。
    9 o0 N4 y: Q8 r1 h6 A6 V/ p0 _- ~, M, D5 b9 i' O, G
    內(nèi)存層次結(jié)構(gòu)和NUMA# z: I( Z$ G1 h# @4 g. P2 @! x
    Quad GH200系統(tǒng)呈現(xiàn)出復(fù)雜的內(nèi)存層次結(jié)構(gòu),具有非統(tǒng)一內(nèi)存訪問(wèn)(NUMA)特性。' q0 ?  I& @/ U, [
    每個(gè)GH200由兩個(gè)NUMA節(jié)點(diǎn)組成:
  • 與Grace親和的LPDDR5內(nèi)存
  • 與Hopper親和的HBM3內(nèi)存7 s8 v+ G/ i& h( r; S
    [/ol]
    - v2 ~5 T+ M$ g/ U5 l總的來(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)。
    ( {; N5 J( [4 _# e4 i, f# }
    5 K0 B# k9 X: m理解數(shù)據(jù)路徑
    " V3 `* _7 T7 M9 A* }: c為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來(lái)看看讀取、寫(xiě)入和復(fù)制操作:
    ) M7 D" k; V2 K$ M : V' N2 ?& T" T8 B2 b# O5 s
    圖2:Hopper操作的數(shù)據(jù)路徑
    ; o2 I4 }( w/ [4 u, n" e; n6 [2 }& J  K0 E' T4 f/ X6 b7 C
    圖2說(shuō)明了Hopper GPU執(zhí)行的讀取、寫(xiě)入和復(fù)制操作的數(shù)據(jù)路徑。1 ?1 Z. Q) z7 b% v) G1 @: k( p
    注意:
    : W7 E* e5 k5 G; ^6 k+ p
  • 本地HBM訪問(wèn)具有最短的路徑和最高的帶寬(4000 GB/s)
  • 跨C2C互連的操作限制在450 GB/s
  • 復(fù)制操作可能需要多次互連遍歷,影響可達(dá)到的帶寬
    ' W5 T/ s1 e( i) }% U
    $ v8 l5 s8 O4 V: Q7 u- N. e
    內(nèi)存操作基準(zhǔn)測(cè)試
      b8 h: Y9 I5 U- \6 N為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準(zhǔn)測(cè)試的結(jié)果:
    ( O0 p- U  W5 t1. 讀取和寫(xiě)入操作:. O0 Z, r; {: e1 Y

    " ^. m" j' m' A5 n5 ^7 r) I+ U( j# z圖3:讀取和寫(xiě)入吞吐量
    5 {3 C% a% |! E# w3 g
    ; n4 d( i- I& @圖3顯示了Grace和Hopper在不同類型內(nèi)存上進(jìn)行讀取和寫(xiě)入操作的吞吐量,包括空閑條件下和C2C互連負(fù)載下的情況。$ A+ |' o6 h0 h. q: p7 _. d6 O/ C
    主要觀察:4 C7 b" q% B3 H/ }# k
  • Hopper通常在本地內(nèi)存訪問(wèn)時(shí)更好地利用C2C互連
  • 跨越C2C和NVLink的操作會(huì)產(chǎn)生顯著開(kāi)銷
  • 在負(fù)載下,對(duì)HBM的寫(xiě)入受影響最大,特別是對(duì)Grace而言+ T) l6 x( \% z+ A8 G) n6 N
    $ o+ N7 H/ `. v( u8 j( {+ C  k2 z
    2. 復(fù)制操作:
    ) Z8 g3 q' Z- v$ i8 U2 J
    , G9 X/ f3 a2 c+ l圖4:復(fù)制吞吐量
    8 m4 O" T! W+ u  A
    1 c9 X' j0 j" d. `  o2 X! i  o圖4說(shuō)明了Grace和Hopper在不同源和目標(biāo)內(nèi)存類型之間進(jìn)行復(fù)制操作的吞吐量。
    , R( Z* ]0 q4 o) k) P( ?值得注意的發(fā)現(xiàn):
    3 Q1 @3 p' K& k: k5 ?* P' B& R
  • 內(nèi)存?zhèn)鬏敶嬖诓粚?duì)稱性(例如,Grace在從本地內(nèi)存復(fù)制到對(duì)等GH200時(shí)達(dá)到更高的吞吐量)
  • Hopper在跨越多個(gè)互連時(shí)通常能更有效地利用可用帶寬8 _8 v9 n' G+ G/ v+ z; h
    9 Q" v5 |/ ^; M  l1 G* x9 W
    3. 延遲:
    1 I5 g, C8 e" _9 h; B3 o
    7 D) U  o+ w+ j8 [. X# r圖5:主內(nèi)存訪問(wèn)延遲
    0 f/ o& A+ Y7 ]4 y( E; T* s
    + @7 e% y% p; d圖5顯示了Grace和Hopper的主內(nèi)存訪問(wèn)延遲。有趣的是,跨越C2C互連的訪問(wèn)(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。
    5 C& v! c7 R$ |, S$ m
    " L9 I, u( v0 S! Q/ ]0 R+ K- E, m優(yōu)化應(yīng)用程序1 y5 R+ z* T- J! t+ Z
    理解這些性能特征對(duì)于在Quad GH200系統(tǒng)上優(yōu)化應(yīng)用程序非常重要。讓我們來(lái)看一些示例工作負(fù)載及其基于內(nèi)存放置的性能:) ?6 C  Z- i, K; F" K
    1. GEMM(通用矩陣乘法):
    ) x& }( V6 b  @4 y; e( z; Y
    # a2 n" Y! f3 T& v圖6:GEMM性能1 G0 _5 j" v6 v2 Z9 N

    5 p2 L  O% z# R1 r圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點(diǎn):
    ( N  i+ D4 `! w2 d
  • HBM放置對(duì)于最佳性能至關(guān)重要,特別是對(duì)于使用Tensor Cores的數(shù)據(jù)類型
  • 即使將一個(gè)矩陣移出HBM也可能顯著影響性能  }4 z4 \" o" @7 m, W8 P% A
    # |; ^+ I8 X; s3 y
    2. LLM(大型語(yǔ)言模型)推理:% ~! W5 T, d& A! c  h) V1 o6 w5 C

    ; d4 L) l+ E( Z  K6 ]6 q圖7:LLM推理時(shí)間
    , m7 ?; {; }- m8 g- P; N
    4 f% N. t2 E6 R/ t圖7顯示了不同模型和內(nèi)存分配的LLM推理時(shí)間。觀察結(jié)果:
    - z  _2 y& o( r& A! ]
  • 內(nèi)存訪問(wèn)速度對(duì)吞吐量起著根本作用
  • HBM分配提供最佳性能,而對(duì)等內(nèi)存訪問(wèn)顯著影響推理時(shí)間: }  b( {' ]+ E: E- O- R( E5 [5 {
    ( j# q5 c5 s/ {' v3 O" c
    3. NCCL(NVIDIA集體通信庫(kù))操作:
    6 z0 ^% l- w) I) L# r - x" |9 l, I, v
    圖8:NCCL All Reduce和All Gather性能
    1 \$ S) e. |# H5 }) K
    4 n# E# z" V. g( W, b7 }圖8說(shuō)明了節(jié)點(diǎn)內(nèi)All Reduce和All Gather操作的性能。關(guān)鍵點(diǎn):
    8 g9 W* D! B' h: _: F# {
  • 超級(jí)芯片局部性比使用的內(nèi)存類型更重要
  • 同一GH200內(nèi)存大大優(yōu)于對(duì)等訪問(wèn). j4 X: j* k, k  u- o
    7 d! l2 m' _, ~, T4 s! M6 g5 E
    最佳實(shí)踐和建議
    3 ~- B+ X' T  g3 K+ g1 Y4 q基于從這些基準(zhǔn)測(cè)試和應(yīng)用程序示例中獲得的見(jiàn)解,以下是在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ù)放置。6 M8 l/ q3 ~1 I: {' c6 W& [2 H
    [/ol]# B( w, e. c- q/ t% X( C6 ?( [3 _! P
    結(jié)論
    ; S/ x" f0 u2 l3 A1 iQuad GH200節(jié)點(diǎn)為HPC和AI工作負(fù)載提供了強(qiáng)大的計(jì)算能力和內(nèi)存帶寬。然而,要充分利用其潛力,開(kā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)用程序的效率。
    * T# Y) u0 v; F- i: t4 [- c& \- U, A- ^, b/ x  L. C8 j
    參考文獻(xiàn)
    ' ?: _3 U5 t- M* 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.
    / L* t0 V% ^$ s8 D# J, ]. m5 V0 d% w  g8 d8 I+ J7 ~1 V1 z) J
    END
    6 J4 s3 V8 D  c7 m. A* O4 G
    # X) y5 w, w6 O0 u! n7 K6 W
    / j9 O; M) g0 M% {# M
    軟件申請(qǐng)我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請(qǐng)?bào)w驗(yàn)免費(fèi)版PIC Studio軟件。無(wú)論是研究還是商業(yè)應(yīng)用,PIC Studio都可提升您的工作效能。
    , G& J: W: Y/ m7 J+ D點(diǎn)擊左下角"閱讀原文"馬上申請(qǐng)
    . r5 ^8 I. Y5 ~* K" l$ ~. O# @! e$ o7 w. I3 o7 J. d4 A; C, |2 _
    歡迎轉(zhuǎn)載- m% A& l5 p, z! O, Q0 R
    ) k# `- y2 Q; m; Y2 L
    轉(zhuǎn)載請(qǐng)注明出處,請(qǐng)勿修改內(nèi)容和刪除作者信息!4 B# a  r! B7 C

    0 u4 {2 r5 Y* _1 h8 y: x8 w1 a- z- c5 {3 M3 ^

    ) W  P  b% u5 F9 |+ e/ A& M
    : l3 E, {4 l7 _0 l! m, }
    0 e, A" H0 O+ A5 @7 w' Q4 ?+ l關(guān)注我們- r9 @2 t6 k4 E& D4 Q: e4 D

    , k5 P% h/ O6 n& j9 A1 s
    2 k$ E9 n6 Y- i# d# @8 y9 Y- \
    * c( l! N" k0 Y4 O7 x

    * j. `$ d- R( g9 {2 q ( L$ N+ e3 R' @  r0 e; w$ P

    , |' a/ Z/ i8 r6 I$ Y* K5 a
    ) I2 Z$ }* \- K, }& K# T& ^! l- _
                         
    / }+ l' J9 n1 R( C$ m$ f- [0 k2 h! n  C" O$ m( G" R

    * O: V# T$ i# i7 g1 {% ]( H8 G, [$ {( F  b# N7 Z/ k: F4 C
    關(guān)于我們:7 v, P" K( I) R4 N2 F! q
    深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導(dǎo)體芯片設(shè)計(jì)自動(dòng)化(EDA)的高科技軟件公司。我們自主開(kāi)發(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ù)。
    7 C/ W9 I, L, l( x5 E; M$ w( p# l) Y- y# S% T
    http://www.latitudeda.com/
    8 E6 I0 b: n" C# s/ }(點(diǎn)擊上方名片關(guān)注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 發(fā)表回復(fù)

    本版積分規(guī)則


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