电子产业一站式赋能平台

PCB联盟网

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

以GPU为中心的通信

[复制链接]

847

主题

847

帖子

7937

积分

高级会员

Rank: 5Rank: 5

积分
7937
发表于 2024-9-30 08:01:00 | 显示全部楼层 |阅读模式
引言! b- i) D2 R9 w$ c$ L' Z
高性能计算(HPC)和机器学习(ML)领域已经因GPU的广泛应用而发生了变革。截至2024年6月,世界排名前10的超级计算机中有9个依赖GPU集群进行加速。GPU在计算方面表现出色,但GPU之间的通信可能成为重大瓶颈,特别是当每个节点和集群中的GPU数量增加时。
: \7 p, r6 m2 j; G/ V! c8 [8 x* Y$ l+ u/ T( D
传统上,多GPU通信由CPU管理。然而,近期以GPU为中心的通信进展正在挑战这一范式,减少CPU参与,赋予GPU更多通信任务自主权,并解决多GPU通信与计算之间的不匹配问题[1]。
8 Q4 h& v: Z# o' i4 D1 A4 I# t  c

dln2bfcsmn164029997221.png

dln2bfcsmn164029997221.png
0 ~% y" |( q4 t, M6 R+ [& z
图1:展示了不同类型的节点内通信方法的数据路径和API调用。
: k1 T- p; K$ X! K. I
9 z. H5 F* L! U# k5 c理解GPU中心通信% B3 t  u& I( N2 m
GPU中心通信可以广泛定义为减少CPU在多GPU执行关键路径中参与的机制。这包括供应商层面的改进(赋予GPU通信自主权)和利用这些改进的用户层面实现。
6 P$ d6 D3 k! l/ Z) D0 D/ `
. h5 K1 n- X: U, yGPU中心通信主要分为两类:
1 e( I! @" I  [0 r6 b" q1 d
  • 节点内通信:在单个节点内进行通信,该节点包含多个连接到共享内存主机的GPU卡。
  • 节点间通信:跨多个节点进行通信,每个GPU由不同的进程控制,不同节点上的进程之间不共享内存。) e% m6 Q0 J& u: ^; K8 |

    * e% q  v( q8 N8 R# m: p$ `支持GPU中心通信的关键技术+ }8 X( N, D$ a+ a# W
    几项技术为高效的GPU中心通信奠定了基础:( A. i4 k% U  N6 n9 |2 r
    - t. W6 j: Y8 X; [5 e3 G- V
    1. 统一虚拟寻址(UVA):在CUDA 4.0中引入,UVA允许节点内的所有GPU和CPU共享同一统一虚拟地址空间,简化了内存管理。$ B9 M* {" r& h& q
    3 d, A/ l$ D6 i
    2. GPUDirect:一系列优化GPU与其他器件之间数据传输的技术:
    , j, L/ _/ O# F) p5 w9 C. c3 j6 X
  • GPUDirect RDMA:支持NVIDIA GPU跨节点直接通信,无需CPU参与。
  • GPUDirect P2P:允许同一PCIe根复合体上的GPU之间直接内存访问。6 M* y1 |+ ~. W" r0 I. S( K0 V
    * v! d2 N# O: @! M5 v2 V  m
    3. NVLink:高带宽、低延迟的GPU到GPU互连,显著提高了GPU之间的数据传输速率。
    ( U  W& i' ^# ^; q  h: L/ S5 _: x# [6 m- v5 S( x" w

    wlnjf4vbo4i64029997321.png

    wlnjf4vbo4i64029997321.png
    3 l0 ^; v0 G4 x! y
    图2:呈现了NVIDIA支持GPU中心通信和网络的技术时间线。
    0 W0 M6 W3 a0 S6 Y2 n# y" i  u+ R* I$ m, S
    4. CUDA IPC:允许同一节点上的进程访问其他进程的器件缓冲区,无需额外复制。+ O1 K8 ~9 p' O6 S4 s
    - u  d: d5 G9 L( T( L: U. \$ z
    5. 统一内存(UVM):创建一个节点内所有处理器可访问的单一地址空间,自动管理CPU和GPU内存之间的数据移动。
    $ H' T. s  ~# V* y  ^# D% y" [
    3 }6 w* i& O) W+ Y' r

    0 ?- U$ T+ a7 @) K* x: M/ v4 _, h9 X. RGPU中心通信库
    ' v, p/ I- c1 D; S几个库已经开发出来利用这些技术并提供高效GPU为中心的通信:
    , V4 S5 m/ D* f: U9 D8 I
  • GPU感知MPI:可以区分主机和器件缓冲区的MPI实现,允许GPU之间直接通信,无需通过主机内存中转。
  • NCCL (NVIDIA集体通信库):提供针对深度学习工作负载优化的拓扑感知集体原语,用于GPU间通信。
  • NVSHMEM:NVIDIA对CUDA器件OpenSHMEM规范的实现,为进程提供高效的单边put/get API以访问远程数据对象。
  • ROC_SHMEM:AMD对NVSHMEM的对应实现,为AMD GPU提供类似功能。
    # r) Q! z, U8 i9 L: j[/ol]( q# @+ R; r8 Q" a5 a, r

    % \6 z! L4 g7 F) i; r/ f: l

    qgpmxzuax3564029997421.png

    qgpmxzuax3564029997421.png

    ( D7 y; B; `  [2 V! I& `. M9 B图3:展示了各种以GPU为中心的通信方法的节点间通信数据和控制路径。: A" r3 [5 c9 @" o# w* s
    ) o  a" ~2 _0 B7 [1 {, b' J8 Y
    6 Q' Z4 Q$ G3 H2 x0 O8 \
    挑战和未来方向' }; Z: q7 L4 n5 d8 v' v) E1 W7 Z
    以GPU为中心的通信提供了显著优势,但仍存在几个挑战和未来研究方向:7 G9 H2 v/ i( I( ~6 R, N5 E3 M
  • 语义不匹配:MPI和GPU编程模型之间存在根本的语义不匹配,因为MPI不了解GPU流。这可能导致强制同步和内核启动流水线受损。
  • 资源争用:当通信和计算都由GPU线程执行时,它们会争用相同的有限资源,可能导致性能问题。
  • 内存一致性:确保内核运行时GPU和NIC内存之间的一致性可能具有挑战性,特别是对于持久内核。
  • 集体算法设计:多GPU系统复杂且非传统的拓扑结构,以及GPU对之间不均匀的带宽,使设计高效的集体通信算法变得复杂。1 o+ l' C% `5 {3 s/ L: O+ m
    [/ol]! S$ u1 V- S) g' V! ]  g
    未来研究方向包括:$ ]  X. Z5 |6 x% d" S8 N% e/ ?) g4 e
  • 无CPU网络:将整个网络栈移至GPU,实现完全自主的多GPU执行。
  • 更广泛的GPU自主性:使GPU能够处理传统上由CPU管理的任务,如文件系统访问和系统调用。
  • 改进调试和分析工具:开发能够监控和可视化GPU中心通信的工具,包括器件原生传输和多GPU环境中的竞争检测。
    $ y; A; H9 b1 b2 K[/ol]
    - N" W4 R1 ^! ?, _% k! F& d3 [结论
      P0 g- d3 W0 {  j+ z9 Z以GPU为中心的通信代表了多GPU执行范式的重大转变,提供了提高性能、降低延迟和增强可扩展性的潜力。随着GPU继续主导HPC和ML领域,理解和利用这些通信技术对于开发人员、研究人员和系统设计师来说将变得越来越重要,以便从多GPU系统中获得最大性能。, ]. h& u$ C9 R1 q, w: e6 t& D% @

    + M3 g- w# m5 n+ w以GPU为中心的通信领域正在迅速发展,新的硬件特性、软件库和编程模型不断涌现。了解这些发展及其影响对于任何使用大规模GPU加速系统的人来说都是必要的。; y. S# R( q& g

    7 d( L# r; j2 s. T$ f- L( ?展望未来,可以期待GPU中心通信的进一步优化,这将由硬件互连的进步、更复杂的软件库和创新的编程模型推动。这些发展将继续推动高性能计算和机器学习的边界,使更复杂和要求更高的应用能够在大规模GPU集群上高效运行。
    / S9 K9 `' b, b) C: D* A! b1 O
    7 c* A% V& w$ a( a# u参考文献! l2 \4 B- T1 k) N( S6 v. q
    [1] D. Unat et al., "The Landscape of GPU-Centric Communication," ACM Comput. Surv., vol. 37, no. 4, Article 111, Aug. 2024., v8 s) x+ |+ ~4 b8 L; _9 c9 z
    : X! Q1 ?: L6 D2 M
    7 a$ Q( I2 i5 R6 E5 n& S* ~' n
    - END -: l2 B1 c9 |2 u1 u5 |
    5 T! h2 \/ W. k" u% ^" X6 f
    软件申请我们欢迎化合物/硅基光电子芯片的研究人员和工程师申请体验免费版PIC Studio软件。无论是研究还是商业应用,PIC Studio都可提升您的工作效能。
    5 C, B2 t; }; Y8 f+ t  z2 L  j. I: K点击左下角"阅读原文"马上申请) d' n7 t; q7 r" m/ ?
    2 y; Y5 Y' Y. r& g" y8 x, x7 |
    欢迎转载) K/ ^2 [# f1 Y5 z

    " k" A9 p8 s7 Q转载请注明出处,请勿修改内容和删除作者信息!
    4 d7 D3 q+ j& x, n( l2 U! m
    % ^, B8 T; J2 u  h0 [/ A* x: X
    3 G) M7 F  V' ?/ Q: T

    $ k5 S8 ?/ X0 {

    0au4eoo2ehh64029997521.gif

    0au4eoo2ehh64029997521.gif

    9 h/ q- T" k) J2 b: S! R# i# i
    ) A4 U5 k. b1 X关注我们
    3 G0 H, K& e! `/ t3 \  q9 S4 ?) R) y# K5 Y. B

    $ V% C7 i9 i% {/ K8 c: {- n- b

    5ej2rrfoyfj64029997621.png

    5ej2rrfoyfj64029997621.png
    6 `; T- a4 J; Y4 ^3 v

    * O( K( k  z$ d3 t1 W

    m1vkzzacjn164029997721.png

    m1vkzzacjn164029997721.png

    7 E  \) k" F6 `6 o+ M2 I
    * v1 _7 C8 v8 y. l; [- K) R

    rx51yznhvkh64029997821.png

    rx51yznhvkh64029997821.png
    ( D" F# q6 p- T% ^$ u( B# l
                          7 L' S) z% U0 [/ U

    7 A" `4 ?3 c- H  k

    ! F$ ~3 P. Z; ?9 g" A" i# S$ \. G2 N7 L7 _: C' y
    关于我们:
    : [  L. i" H1 T7 T+ v深圳逍遥科技有限公司(Latitude Design Automation Inc.)是一家专注于半导体芯片设计自动化(EDA)的高科技软件公司。我们自主开发特色工艺芯片设计和仿真软件,提供成熟的设计解决方案如PIC Studio、MEMS Studio和Meta Studio,分别针对光电芯片、微机电系统、超透镜的设计与仿真。我们提供特色工艺的半导体芯片集成电路版图、IP和PDK工程服务,广泛服务于光通讯、光计算、光量子通信和微纳光子器件领域的头部客户。逍遥科技与国内外晶圆代工厂及硅光/MEMS中试线合作,推动特色工艺半导体产业链发展,致力于为客户提供前沿技术与服务。5 j3 ]. ]: v, S  ~# d, X

    7 ], a* A, ~& @5 k% e! O' Z. ]; @http://www.latitudeda.com/! u  A6 ~( ?3 U8 f/ Q
    (点击上方名片关注我们,发现更多精彩内容)
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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