电子产业一站式赋能平台

PCB联盟网

搜索
查看: 261|回复: 0
收起左侧

以GPU为中心的通信

[复制链接]

1075

主题

1075

帖子

1万

积分

论坛法老

Rank: 6Rank: 6

积分
11406
发表于 2024-9-30 08:01:00 | 显示全部楼层 |阅读模式
引言5 [, n7 @  w( f$ D9 J7 C
高性能计算(HPC)和机器学习(ML)领域已经因GPU的广泛应用而发生了变革。截至2024年6月,世界排名前10的超级计算机中有9个依赖GPU集群进行加速。GPU在计算方面表现出色,但GPU之间的通信可能成为重大瓶颈,特别是当每个节点和集群中的GPU数量增加时。- \$ z" I7 e6 z% v  w
- x7 A: S9 O$ ?; K0 h0 s
传统上,多GPU通信由CPU管理。然而,近期以GPU为中心的通信进展正在挑战这一范式,减少CPU参与,赋予GPU更多通信任务自主权,并解决多GPU通信与计算之间的不匹配问题[1]。6 Z6 z* L- d, P$ H( O
$ X2 j* T5 h2 ?& M/ s( c. F1 n

dln2bfcsmn164029997221.png

dln2bfcsmn164029997221.png
8 F* C! c* w- |+ {( G0 L5 s
图1:展示了不同类型的节点内通信方法的数据路径和API调用。) _. f( ^+ m5 J: ]' \" ?# f( P
  h' O- m. }) X, q; w: q
理解GPU中心通信
" r( h- d1 X( u. G! z$ r$ {GPU中心通信可以广泛定义为减少CPU在多GPU执行关键路径中参与的机制。这包括供应商层面的改进(赋予GPU通信自主权)和利用这些改进的用户层面实现。
* p( a: H! D0 H: [2 s: ]% O, l' Z0 J5 O% M
GPU中心通信主要分为两类:* B3 a! o8 h3 W" D5 |, C: ~& N
  • 节点内通信:在单个节点内进行通信,该节点包含多个连接到共享内存主机的GPU卡。
  • 节点间通信:跨多个节点进行通信,每个GPU由不同的进程控制,不同节点上的进程之间不共享内存。
    & z3 i% [& Z, W5 B$ l' \4 Z/ Q4 l

    * }) A6 d2 X: [' Y' i支持GPU中心通信的关键技术" @& j2 v0 f/ P( Z- c1 K
    几项技术为高效的GPU中心通信奠定了基础:" D8 u( V1 @$ {$ k/ |. z* m
    $ C& X9 D7 t7 a: M; q
    1. 统一虚拟寻址(UVA):在CUDA 4.0中引入,UVA允许节点内的所有GPU和CPU共享同一统一虚拟地址空间,简化了内存管理。9 `3 `) w. N* p* m  U( d3 {
    " X7 V  D. |9 G# U: p& `0 n
    2. GPUDirect:一系列优化GPU与其他器件之间数据传输的技术:, d$ h* X. ]' H* p4 l
  • GPUDirect RDMA:支持NVIDIA GPU跨节点直接通信,无需CPU参与。
  • GPUDirect P2P:允许同一PCIe根复合体上的GPU之间直接内存访问。
    # H; i/ w6 w1 s' G; r2 b3 [

    ! u" W. l8 Y8 ]+ L  y3. NVLink:高带宽、低延迟的GPU到GPU互连,显著提高了GPU之间的数据传输速率。0 J+ C( }1 D" w) Z. ~

    . F1 S* z8 G1 t9 J6 O$ k

    wlnjf4vbo4i64029997321.png

    wlnjf4vbo4i64029997321.png

    5 o% U0 F  Q' S, [5 n1 K1 G图2:呈现了NVIDIA支持GPU中心通信和网络的技术时间线。
    8 r, y/ x" j- b* b9 M- g' a
    5 i! t# [9 P- q4. CUDA IPC:允许同一节点上的进程访问其他进程的器件缓冲区,无需额外复制。) K* I  ?3 Z- e  `% [1 J

    + l0 e8 C% h, x5 ^5. 统一内存(UVM):创建一个节点内所有处理器可访问的单一地址空间,自动管理CPU和GPU内存之间的数据移动。
    ! s! A5 P( r6 ]/ Q" n
    2 v0 t) `4 }9 z/ ^% w
    * E8 H6 E8 z8 X) I5 K9 Q. z
    GPU中心通信库
    7 [: L! O. [+ ^$ b2 m几个库已经开发出来利用这些技术并提供高效GPU为中心的通信:
    % W: c; n. F0 M) J7 n
  • GPU感知MPI:可以区分主机和器件缓冲区的MPI实现,允许GPU之间直接通信,无需通过主机内存中转。
  • NCCL (NVIDIA集体通信库):提供针对深度学习工作负载优化的拓扑感知集体原语,用于GPU间通信。
  • NVSHMEM:NVIDIA对CUDA器件OpenSHMEM规范的实现,为进程提供高效的单边put/get API以访问远程数据对象。
  • ROC_SHMEM:AMD对NVSHMEM的对应实现,为AMD GPU提供类似功能。0 G8 h8 \; ~- r3 Z
    [/ol]
    # r: Y- ?6 G7 J) v% q: e; }3 A* n- h5 d' g/ r" e4 W

    qgpmxzuax3564029997421.png

    qgpmxzuax3564029997421.png
      h& Q5 E: T* a& i" t! T
    图3:展示了各种以GPU为中心的通信方法的节点间通信数据和控制路径。
    0 }5 o* g$ @& r) `" x, k4 M% q% m+ `% P/ H4 P
    & \! O' B. D3 V& O* }
    挑战和未来方向, J( ^4 g, k) z
    以GPU为中心的通信提供了显著优势,但仍存在几个挑战和未来研究方向:
      o/ q0 u; k. u1 ?! ^  D
  • 语义不匹配:MPI和GPU编程模型之间存在根本的语义不匹配,因为MPI不了解GPU流。这可能导致强制同步和内核启动流水线受损。
  • 资源争用:当通信和计算都由GPU线程执行时,它们会争用相同的有限资源,可能导致性能问题。
  • 内存一致性:确保内核运行时GPU和NIC内存之间的一致性可能具有挑战性,特别是对于持久内核。
  • 集体算法设计:多GPU系统复杂且非传统的拓扑结构,以及GPU对之间不均匀的带宽,使设计高效的集体通信算法变得复杂。
    6 Q" b8 B; ?8 l[/ol]
    ) ^' F! I2 _( B. P3 y, Z未来研究方向包括:
    ; p, R: q- U9 ~8 `8 q
  • 无CPU网络:将整个网络栈移至GPU,实现完全自主的多GPU执行。
  • 更广泛的GPU自主性:使GPU能够处理传统上由CPU管理的任务,如文件系统访问和系统调用。
  • 改进调试和分析工具:开发能够监控和可视化GPU中心通信的工具,包括器件原生传输和多GPU环境中的竞争检测。2 \& n0 l% C5 M1 p8 E
    [/ol]9 n8 d0 o5 S  @  t
    结论
    % R- N) ]- J$ Q  L以GPU为中心的通信代表了多GPU执行范式的重大转变,提供了提高性能、降低延迟和增强可扩展性的潜力。随着GPU继续主导HPC和ML领域,理解和利用这些通信技术对于开发人员、研究人员和系统设计师来说将变得越来越重要,以便从多GPU系统中获得最大性能。8 A8 j' D/ Y% {% q, Q! ^  n8 a9 @
    & V" I  ]+ S' r+ g
    以GPU为中心的通信领域正在迅速发展,新的硬件特性、软件库和编程模型不断涌现。了解这些发展及其影响对于任何使用大规模GPU加速系统的人来说都是必要的。& P, e' S9 s- |; n: t; b) e1 r
    % q! [* i3 Q* \7 P. l/ S( ^/ H' d& X1 Z
    展望未来,可以期待GPU中心通信的进一步优化,这将由硬件互连的进步、更复杂的软件库和创新的编程模型推动。这些发展将继续推动高性能计算和机器学习的边界,使更复杂和要求更高的应用能够在大规模GPU集群上高效运行。# t9 {9 U# g( s
    ) c- L+ [3 S/ q0 k# V5 L% x
    参考文献4 V* O* s- w2 E* n+ A
    [1] D. Unat et al., "The Landscape of GPU-Centric Communication," ACM Comput. Surv., vol. 37, no. 4, Article 111, Aug. 2024.( a1 L# D, _1 ]8 ^$ `
      B+ h/ k5 t% t" _" _  L

    " h7 L8 U+ ]- L- END -4 D- i; \) F1 [/ W
    * y0 ~. z" v# ?) s- r9 O" v% y
    软件申请我们欢迎化合物/硅基光电子芯片的研究人员和工程师申请体验免费版PIC Studio软件。无论是研究还是商业应用,PIC Studio都可提升您的工作效能。
      m3 C  r* I4 {3 I5 e' C点击左下角"阅读原文"马上申请
    - p# n7 R, l0 c1 A; P2 z
    # I  Z7 l. l2 c, ^3 ?% i欢迎转载6 L! e; F7 t3 f- U. G# Q5 H2 M
    : b; r9 u% |. n( o0 m% z
    转载请注明出处,请勿修改内容和删除作者信息!
    3 r9 }3 p  O$ G" g& B4 U2 v' Q8 v% f+ f2 P2 Z2 y- v  X
    ; o+ }6 @( f' s5 H
    $ X$ H; c% g" Y! M: B3 V, {

    0au4eoo2ehh64029997521.gif

    0au4eoo2ehh64029997521.gif

    & e) j( E. j9 S' G- o% K; n! K4 o
    关注我们
    2 [* D. F; s+ @7 i$ l: u1 e+ y) @' U. g" U& f) c& n5 }, @
    + g* ^8 y' A, T# a. ?

    5ej2rrfoyfj64029997621.png

    5ej2rrfoyfj64029997621.png

    ' V+ }7 p6 ]. U$ o1 ?2 D& i/ V" b

    0 u1 d0 F& V$ A( v& R

    m1vkzzacjn164029997721.png

    m1vkzzacjn164029997721.png
    : w% k: A% e5 f) \

    8 f/ Y2 f& G/ F

    rx51yznhvkh64029997821.png

    rx51yznhvkh64029997821.png
    6 A! k% n+ N% O
                          2 v8 H% u9 k: x3 Z# k) C- c
    ; t8 Z7 s- ~9 r* L. @2 O
    # k2 J2 ~' d# T- i6 }$ z! n" F! k

    8 X5 C% ^9 l# o/ N关于我们:
    ( r: J' M% _/ A/ J3 `1 y' t深圳逍遥科技有限公司(Latitude Design Automation Inc.)是一家专注于半导体芯片设计自动化(EDA)的高科技软件公司。我们自主开发特色工艺芯片设计和仿真软件,提供成熟的设计解决方案如PIC Studio、MEMS Studio和Meta Studio,分别针对光电芯片、微机电系统、超透镜的设计与仿真。我们提供特色工艺的半导体芯片集成电路版图、IP和PDK工程服务,广泛服务于光通讯、光计算、光量子通信和微纳光子器件领域的头部客户。逍遥科技与国内外晶圆代工厂及硅光/MEMS中试线合作,推动特色工艺半导体产业链发展,致力于为客户提供前沿技术与服务。
    ! V, U1 W: J! g5 T, C) J. n
    ' H7 k8 j1 H5 I" c; ~, C* `0 Ohttp://www.latitudeda.com/3 P' E' s/ s8 i' o$ ]  j
    (点击上方名片关注我们,发现更多精彩内容)
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表