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

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

搜索
查看: 50|回復: 0
收起左側

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

[復制鏈接]

552

主題

552

帖子

4418

積分

四級會員

Rank: 4

積分
4418
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-11-12 08:01:00 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
引言
: V3 W: c5 V+ a% `" @高性能計算(HPC)和人工智能(AI)領域因異構系統(tǒng)而發(fā)生了巨大變革,特別是那些集成了GPU的系統(tǒng)。隨著工作負載越來越受內(nèi)存限制,優(yōu)化系統(tǒng)內(nèi)部的通信延遲和帶寬變得極為重要。NVIDIA Grace Hopper超級芯片(GH200)代表了緊密耦合異構系統(tǒng)的重大進步,提供了統(tǒng)一的地址空間和對系統(tǒng)所有主內(nèi)存的透明細粒度訪問。
9 j0 |* ?% _8 K( U" q# V8 z. ]; ]& F  v7 q$ O; u% i4 U2 E: q7 B, R
本文將探討Quad GH200節(jié)點的架構(這是瑞士國家超級計算中心Alps超級計算機的基本構建塊),并提供有關如何優(yōu)化這一尖端系統(tǒng)內(nèi)存操作的見解[1]。+ d+ R9 c/ N4 i; _( H) F+ V* ]; K
( j7 P  L2 n) Q; o4 j5 a3 @, ]

  f+ v  k! q* w" z5 q架構概述0 B2 D' ?' J8 T- y
Quad GH200節(jié)點由四個GH200超級芯片組成,每個超級芯片結合了一個Grace CPU和一個Hopper GPU。這些單元通過NVLink和緩存一致性互連全面互聯(lián)。讓我們來看看關鍵組件:6 [+ `  I% U: F
* P2 L6 p$ e4 t: Q& O, L- ^: d# Q
圖1:Quad GH200節(jié)點的架構
5 y1 o1 }8 w/ k& f  z& Y" d4 G% P
8 t9 j; p- e; @/ ~1 }如圖1所示,每個GH200超級芯片具有以下特點:! ?# p) x+ ^3 L* ~
  • 一個Grace CPU,有72個Arm Neoverse V2核心
  • 一個Hopper GPU,有132個流式多處理器(SMs)
  • 96GB的HBM3內(nèi)存(4000 GB/s帶寬)
  • 128GB的LPDDR5內(nèi)存(500 GB/s帶寬); Z8 g- [" P( I# ]8 y* ]* n8 u

    6 ~, b: Z. ~0 qGH200單元通過以下方式互連:  M- U6 Y( h7 s
  • NVLink:每個方向150 GB/s(總共900 GB/s)
  • Grace互連:每個方向150 GB/s
  • NVLink-C2C(C2C):每個方向450 GB/s(總共900 GB/s)+ I* f7 S2 T% m/ v" E

    ; N; U  M% S% ~, w( [9 o每個節(jié)點還通過單獨的網(wǎng)絡接口卡連接到Slingshot網(wǎng)絡,每個方向提供25 GB/s(總共200 GB/s)的節(jié)點間通信。- C9 D( s: D  o3 @; @% g

    6 g. \" ~& W8 T: V# B: s內(nèi)存層次結構和NUMA  i2 V6 G2 X- P3 X8 S. N& @* O
    Quad GH200系統(tǒng)呈現(xiàn)出復雜的內(nèi)存層次結構,具有非統(tǒng)一內(nèi)存訪問(NUMA)特性。
    / t- }. p4 B5 I+ b0 \1 ]每個GH200由兩個NUMA節(jié)點組成:
  • 與Grace親和的LPDDR5內(nèi)存
  • 與Hopper親和的HBM3內(nèi)存
    7 Z/ V) {8 @, D6 y[/ol]& H5 k: o6 J4 l) L
    總的來說,一個Quad GH200節(jié)點有八個NUMA節(jié)點,四個與Grace CPU相關(NUMA 0-3),四個與Hopper GPU相關(NUMA 4, 12, 20, 28)。
    ) R! A; c+ k$ y" s4 b
    # }/ z9 m) r) w1 E. [% Y& T理解數(shù)據(jù)路徑9 C6 [3 @) f! ?6 }8 e+ y
    為了優(yōu)化內(nèi)存操作,理解不同類型操作的數(shù)據(jù)路徑非常重要。讓我們來看看讀取、寫入和復制操作:
    . E1 B" b5 F* ~ $ P' p' M- K3 W$ F- z+ B9 v0 y9 R
    圖2:Hopper操作的數(shù)據(jù)路徑; l* P# f3 E: G. ]- h- U

    5 Y) x4 ?* {' [& B9 `5 ^圖2說明了Hopper GPU執(zhí)行的讀取、寫入和復制操作的數(shù)據(jù)路徑。
    1 o! X# _0 S  I5 L& ^4 h注意:2 N' x! X  p2 M
  • 本地HBM訪問具有最短的路徑和最高的帶寬(4000 GB/s)
  • 跨C2C互連的操作限制在450 GB/s
  • 復制操作可能需要多次互連遍歷,影響可達到的帶寬
    3 K. Z/ \" }+ I0 a9 ~& i

    8 a" n4 I, d0 ~+ H內(nèi)存操作基準測試$ O& u) U+ H& }6 a
    為了理解Quad GH200系統(tǒng)的性能特征,我們將檢查各種微基準測試的結果:
    1 f4 x9 b) n; V1. 讀取和寫入操作:
    1 u2 |( P- l* D$ a0 R. P3 B& C/ a : u& P7 L5 C/ ~9 r
    圖3:讀取和寫入吞吐量* Q# v' \* F6 x0 s9 O; |: B0 p6 @
    % Z# r5 w: q! e* `/ _0 H
    圖3顯示了Grace和Hopper在不同類型內(nèi)存上進行讀取和寫入操作的吞吐量,包括空閑條件下和C2C互連負載下的情況。
    ) s- @" m7 o' `4 f1 `4 ]1 f主要觀察:  v+ y: i# x2 d* ^5 y! _, J
  • Hopper通常在本地內(nèi)存訪問時更好地利用C2C互連
  • 跨越C2C和NVLink的操作會產(chǎn)生顯著開銷
  • 在負載下,對HBM的寫入受影響最大,特別是對Grace而言
    ) F6 v/ z: e, `
    % m& m- n6 a1 q4 R
    2. 復制操作:
    5 f7 M* `, F5 V7 {+ w
    # m! B- K, E- \$ a5 G圖4:復制吞吐量
    1 I. X8 o$ v* l7 b; x+ y3 U$ N; `  a3 L
    圖4說明了Grace和Hopper在不同源和目標內(nèi)存類型之間進行復制操作的吞吐量。" A) v. ^1 c5 i2 r4 E# O
    值得注意的發(fā)現(xiàn):
    0 P2 e0 g6 q7 W; k7 e+ f0 a
  • 內(nèi)存?zhèn)鬏敶嬖诓粚ΨQ性(例如,Grace在從本地內(nèi)存復制到對等GH200時達到更高的吞吐量)
  • Hopper在跨越多個互連時通常能更有效地利用可用帶寬& G/ A3 F9 b6 Y; @
    / {- f# A- {5 o
    3. 延遲:
    0 t4 n3 {* ^, s3 L& {
    ' m0 [# d. J. S7 ?. H- S# Z  j# `1 S, u$ \圖5:主內(nèi)存訪問延遲6 s' M- c* M. \5 I# b. d

    2 ~& C+ ]$ }0 e4 s5 X2 W圖5顯示了Grace和Hopper的主內(nèi)存訪問延遲。有趣的是,跨越C2C互連的訪問(Grace到HBM和Hopper到DDR)表現(xiàn)出相似的延遲。( h4 G" Y# D: }4 \$ k

      `4 J. `: D; W5 H5 v優(yōu)化應用程序- r- F' o, R# Y! N$ E2 B# s
    理解這些性能特征對于在Quad GH200系統(tǒng)上優(yōu)化應用程序非常重要。讓我們來看一些示例工作負載及其基于內(nèi)存放置的性能:
    + K# t& L1 a- Y1. GEMM(通用矩陣乘法):! F- ~- Z8 H1 D3 x$ H3 p: Y
    / f) t& K( c2 C% g1 v
    圖6:GEMM性能+ G+ T! n  f5 V+ m, d3 W/ J
    , d, x$ S+ F+ A  O. ~5 Z. |0 T
    圖6顯示了矩陣放置在不同內(nèi)存位置的GEMM操作性能。主要要點:
    1 v1 [1 |9 Q# G
  • HBM放置對于最佳性能至關重要,特別是對于使用Tensor Cores的數(shù)據(jù)類型
  • 即使將一個矩陣移出HBM也可能顯著影響性能
    0 b1 I& f- x0 v& w0 {# W
    2 T% s4 R6 i9 ]0 y. n
    2. LLM(大型語言模型)推理:" H( ?8 ^) D: |( e

    6 O2 Z4 T* H! L: ^8 q! d$ W圖7:LLM推理時間
    - _# r  ]# l  T+ J# G, u! p, x# o7 g. k; V  A
    圖7顯示了不同模型和內(nèi)存分配的LLM推理時間。觀察結果:
    1 l! E# ]/ @+ v$ ^6 F9 V7 ^- x
  • 內(nèi)存訪問速度對吞吐量起著根本作用
  • HBM分配提供最佳性能,而對等內(nèi)存訪問顯著影響推理時間
    ! `( \6 p' z  d2 A
    : [1 R) m5 i; q/ g
    3. NCCL(NVIDIA集體通信庫)操作:3 ?( p5 P/ ?* [! _8 o) I" ^+ Q
    8 s, \- W7 `4 W
    圖8:NCCL All Reduce和All Gather性能
    % O& }$ i0 l& [
    5 Q7 F' x+ g& U& g* [; o/ I+ k圖8說明了節(jié)點內(nèi)All Reduce和All Gather操作的性能。關鍵點:
    * j; @5 s8 v( x3 D
  • 超級芯片局部性比使用的內(nèi)存類型更重要
  • 同一GH200內(nèi)存大大優(yōu)于對等訪問
    $ r$ Z- h# y* o2 I

    % e5 X- E% |& g% q$ V最佳實踐和建議
    ' M: M; _1 ^; s- n: B# J2 |0 A基于從這些基準測試和應用程序示例中獲得的見解,以下是在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ù)放置。2 U: w; ~% O9 y
    [/ol]' U9 }9 R. h9 O5 }: |2 T! N
    結論
    ) L* ?% v3 R4 ]& h9 [Quad GH200節(jié)點為HPC和AI工作負載提供了強大的計算能力和內(nèi)存帶寬。然而,要充分利用其潛力,開發(fā)人員必須理解其復雜的內(nèi)存層次結構并相應地優(yōu)化數(shù)據(jù)放置。通過遵循本文概述的最佳實踐并仔細考慮不同內(nèi)存操作的性能特征,可以顯著提高在這一先進異構系統(tǒng)上應用程序的效率。" Z% [6 `! M" {& S' @4 ]' X

    8 D% a( W! b) d0 k9 l3 f參考文獻/ z( j2 }, X- C3 E1 S# J/ r; x  ~, E
    [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.
      ~/ I7 R. M7 O9 F$ t& t* c
    3 ~# y3 w' P1 M" r  `8 y" cEND
    ) }3 ?8 @( t. S: n" |. \0 |/ h
    ( Y. K$ E$ B" ~4 \
      K7 X; h6 L# _9 S: ]$ @: v3 |
    軟件申請我們歡迎化合物/硅基光電子芯片的研究人員和工程師申請體驗免費版PIC Studio軟件。無論是研究還是商業(yè)應用,PIC Studio都可提升您的工作效能。+ v' ~  r& q0 W- p9 _
    點擊左下角"閱讀原文"馬上申請9 I* m! }8 p* E
    0 U/ ?5 y9 J7 [% G1 \
    歡迎轉(zhuǎn)載+ T2 r1 L- O  j

    $ q, z3 G) X* X, G* M" @8 @9 J8 p轉(zhuǎn)載請注明出處,請勿修改內(nèi)容和刪除作者信息!
    # B: e' l& T+ P+ ?5 o) G9 c
    8 s9 v) N- h6 R6 {
    $ k  v0 v/ |! Q/ s/ c$ ^$ z

    9 {6 _$ b0 f! P2 Y% k' n $ |# ~% I' E( O7 {7 P' h$ z! Q# h& \

    " n) S0 q$ }! P7 K! G# ^$ c關注我們2 e# Z* `. {1 P8 p9 p
    , J, D0 T/ a2 ?+ {# w) M/ J6 [

    ! [  z" G2 }. e( \
    2 @: I$ C- E% j% p/ o' H

    ' J! L5 V0 S2 _$ K. G# b
    3 b' x2 N4 O9 v# H0 |# H( {

    7 J7 P2 L' H% a& N( z$ T
    ) l( ]$ F- T, f8 R
                          * q8 {  F4 L  O1 Q
    8 F8 d% X7 `7 d1 ~' ^6 Y
    . N3 J# F* ^) g0 C" h, f

    * ^5 W" Y8 D7 G8 b9 U關于我們:; l0 m5 J# L( G$ u1 Z5 u
    深圳逍遙科技有限公司(Latitude Design Automation Inc.)是一家專注于半導體芯片設計自動化(EDA)的高科技軟件公司。我們自主開發(fā)特色工藝芯片設計和仿真軟件,提供成熟的設計解決方案如PIC Studio、MEMS Studio和Meta Studio,分別針對光電芯片、微機電系統(tǒng)、超透鏡的設計與仿真。我們提供特色工藝的半導體芯片集成電路版圖、IP和PDK工程服務,廣泛服務于光通訊、光計算、光量子通信和微納光子器件領域的頭部客戶。逍遙科技與國內(nèi)外晶圓代工廠及硅光/MEMS中試線合作,推動特色工藝半導體產(chǎn)業(yè)鏈發(fā)展,致力于為客戶提供前沿技術與服務。; ^7 T2 }5 U) {( [2 g" W% m
    8 o" d; C, D4 ^& D  i. v: I
    http://www.latitudeda.com/
      }  i* Y8 h3 [" f; m, t(點擊上方名片關注我們,發(fā)現(xiàn)更多精彩內(nèi)容)
  • 回復

    使用道具 舉報

    發(fā)表回復

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

    本版積分規(guī)則


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