电子产业一站式赋能平台

PCB联盟网

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

以GPU为中心的通信

[复制链接]

919

主题

919

帖子

8923

积分

高级会员

Rank: 5Rank: 5

积分
8923
发表于 2024-9-30 08:01:00 | 显示全部楼层 |阅读模式
引言5 I: j7 Q( x, `) M1 A
高性能计算(HPC)和机器学习(ML)领域已经因GPU的广泛应用而发生了变革。截至2024年6月,世界排名前10的超级计算机中有9个依赖GPU集群进行加速。GPU在计算方面表现出色,但GPU之间的通信可能成为重大瓶颈,特别是当每个节点和集群中的GPU数量增加时。( o& B% `* Q9 W2 U: p
% Z+ c3 o+ v& X. o7 R0 t
传统上,多GPU通信由CPU管理。然而,近期以GPU为中心的通信进展正在挑战这一范式,减少CPU参与,赋予GPU更多通信任务自主权,并解决多GPU通信与计算之间的不匹配问题[1]。
* m2 n! t' z0 x9 j+ R# A2 ]+ F5 ^+ }# s- P7 k; S! R( E1 l

dln2bfcsmn164029997221.png

dln2bfcsmn164029997221.png
5 B7 M8 X6 r' I3 W1 ]- K, h
图1:展示了不同类型的节点内通信方法的数据路径和API调用。2 j4 T7 h- q6 j. O; t$ ~6 o
( D5 S# d# a' m. a
理解GPU中心通信  G" A' n$ b3 G# ^: N: [
GPU中心通信可以广泛定义为减少CPU在多GPU执行关键路径中参与的机制。这包括供应商层面的改进(赋予GPU通信自主权)和利用这些改进的用户层面实现。
- Y- o2 _" S; X' p4 A  Q
7 _3 f) @2 g% M1 w7 IGPU中心通信主要分为两类:
) w* y- @7 N/ P4 r- ~3 |
  • 节点内通信:在单个节点内进行通信,该节点包含多个连接到共享内存主机的GPU卡。
  • 节点间通信:跨多个节点进行通信,每个GPU由不同的进程控制,不同节点上的进程之间不共享内存。% y% i8 d8 o+ C- D* _7 ?

    ( G7 D: o! [8 x3 |) w/ B" D支持GPU中心通信的关键技术
    % b! d! |& s9 t几项技术为高效的GPU中心通信奠定了基础:
    ! ?. y: F( B) o! u9 ?( f- I4 ]. K- o8 y
    1. 统一虚拟寻址(UVA):在CUDA 4.0中引入,UVA允许节点内的所有GPU和CPU共享同一统一虚拟地址空间,简化了内存管理。: H$ S* a' l9 B; w4 _

    : d& g7 P! B, z3 c! j$ s/ B2. GPUDirect:一系列优化GPU与其他器件之间数据传输的技术:
    ! X+ c) M( u# l( C* N; y* G6 J
  • GPUDirect RDMA:支持NVIDIA GPU跨节点直接通信,无需CPU参与。
  • GPUDirect P2P:允许同一PCIe根复合体上的GPU之间直接内存访问。
    $ }1 j$ t6 N6 Z! t+ K, `: C
    ' V* y1 N% k, ?( A9 B* I
    3. NVLink:高带宽、低延迟的GPU到GPU互连,显著提高了GPU之间的数据传输速率。
    4 V1 Z- g  G2 I9 P" Y
    ( r8 F" e3 j3 o$ a

    wlnjf4vbo4i64029997321.png

    wlnjf4vbo4i64029997321.png
    : Y$ ^1 S9 _) p3 H2 \
    图2:呈现了NVIDIA支持GPU中心通信和网络的技术时间线。8 n7 g8 y' k7 N3 ^* u$ P' S" j

    ! h8 ?  I) @7 u4. CUDA IPC:允许同一节点上的进程访问其他进程的器件缓冲区,无需额外复制。, ?1 w$ e' \4 F2 z

    6 W& a% m" s9 a  G# Q5. 统一内存(UVM):创建一个节点内所有处理器可访问的单一地址空间,自动管理CPU和GPU内存之间的数据移动。; t; b2 W# o' a! Z; y

    , D5 l' n+ Q$ ^: g" ^/ \
    & v; E# m+ p! j; L  K. F* @3 {& f4 T
    GPU中心通信库
    ) C) s9 k; T2 C" E3 T4 r几个库已经开发出来利用这些技术并提供高效GPU为中心的通信:
    . D! W* D, f) Q9 I- k5 ]: \: F% u
  • GPU感知MPI:可以区分主机和器件缓冲区的MPI实现,允许GPU之间直接通信,无需通过主机内存中转。
  • NCCL (NVIDIA集体通信库):提供针对深度学习工作负载优化的拓扑感知集体原语,用于GPU间通信。
  • NVSHMEM:NVIDIA对CUDA器件OpenSHMEM规范的实现,为进程提供高效的单边put/get API以访问远程数据对象。
  • ROC_SHMEM:AMD对NVSHMEM的对应实现,为AMD GPU提供类似功能。5 R& f) I  B% u6 u
    [/ol]! l# b! ^8 j7 j- `/ Y& c0 C/ W

    . [% s: t) m9 r1 v6 Z$ \4 v

    qgpmxzuax3564029997421.png

    qgpmxzuax3564029997421.png

    * _! c( @$ F6 F! l/ v' K6 W" c图3:展示了各种以GPU为中心的通信方法的节点间通信数据和控制路径。) S1 q+ }& |$ [0 Q3 x

    " a8 T+ ?' L9 b; Q9 o% |

    - J( a; i" O& S# a' B: t5 Q( D挑战和未来方向. V( Y1 o7 t# w+ z: |7 \" V
    以GPU为中心的通信提供了显著优势,但仍存在几个挑战和未来研究方向:
    , x* Q1 x- p- {/ b. G
  • 语义不匹配:MPI和GPU编程模型之间存在根本的语义不匹配,因为MPI不了解GPU流。这可能导致强制同步和内核启动流水线受损。
  • 资源争用:当通信和计算都由GPU线程执行时,它们会争用相同的有限资源,可能导致性能问题。
  • 内存一致性:确保内核运行时GPU和NIC内存之间的一致性可能具有挑战性,特别是对于持久内核。
  • 集体算法设计:多GPU系统复杂且非传统的拓扑结构,以及GPU对之间不均匀的带宽,使设计高效的集体通信算法变得复杂。
    0 r- k+ D  ?+ M7 f3 ?; e" ?[/ol]
    - c: U8 a% K/ s- X未来研究方向包括:
    & \& @( w: E# K5 [* v1 Q6 d8 Y0 c) [
  • 无CPU网络:将整个网络栈移至GPU,实现完全自主的多GPU执行。
  • 更广泛的GPU自主性:使GPU能够处理传统上由CPU管理的任务,如文件系统访问和系统调用。
  • 改进调试和分析工具:开发能够监控和可视化GPU中心通信的工具,包括器件原生传输和多GPU环境中的竞争检测。0 B+ K1 E" b) p; S6 L! B
    [/ol]
    ! H' X* m& b5 l结论0 ?7 J( ^9 A- \- E
    以GPU为中心的通信代表了多GPU执行范式的重大转变,提供了提高性能、降低延迟和增强可扩展性的潜力。随着GPU继续主导HPC和ML领域,理解和利用这些通信技术对于开发人员、研究人员和系统设计师来说将变得越来越重要,以便从多GPU系统中获得最大性能。
    - S7 N: g; P6 o& Z) E
    5 K. b2 E  K" ]$ |/ F  v0 m以GPU为中心的通信领域正在迅速发展,新的硬件特性、软件库和编程模型不断涌现。了解这些发展及其影响对于任何使用大规模GPU加速系统的人来说都是必要的。& i9 u4 r6 u7 J; b; U7 ~; ^
    5 Q* N1 f% Z+ s3 N: V0 G6 b, {+ i8 B
    展望未来,可以期待GPU中心通信的进一步优化,这将由硬件互连的进步、更复杂的软件库和创新的编程模型推动。这些发展将继续推动高性能计算和机器学习的边界,使更复杂和要求更高的应用能够在大规模GPU集群上高效运行。! _+ w" P% `0 V, \) n
    - v7 u" x8 S. k' Q. y& `
    参考文献
    / }  S, n1 W& T5 J8 b3 @) @4 N! l' k[1] D. Unat et al., "The Landscape of GPU-Centric Communication," ACM Comput. Surv., vol. 37, no. 4, Article 111, Aug. 2024.2 d$ N" r9 v  _  G0 J: q; p5 @
    , K  B8 X: i0 {0 [
    ; U# C6 Y! o' U5 O
    - END -# Q) S  P/ i" `3 W

    2 P6 F5 P4 F" q' n; y. _5 [软件申请我们欢迎化合物/硅基光电子芯片的研究人员和工程师申请体验免费版PIC Studio软件。无论是研究还是商业应用,PIC Studio都可提升您的工作效能。& ~0 q7 T2 f9 V
    点击左下角"阅读原文"马上申请
    $ g6 c3 }$ H# j6 X* t# G% [6 s& J( P9 M, Y7 s- Z. X
    欢迎转载
    , W: q7 P" X6 _. X
    6 [( T* g- k: T$ x: L转载请注明出处,请勿修改内容和删除作者信息!( j. R' O! j3 |2 w6 b
    : ^+ G( o  |) z* m

    7 A3 q5 y5 C% e' T- B
    + Z8 M2 D' [4 H" j# Q* X; p

    0au4eoo2ehh64029997521.gif

    0au4eoo2ehh64029997521.gif

    5 e4 j/ X) u8 |
    , V1 x* A( H1 C- f% n* X7 J' b关注我们
    ! o' \; i7 F4 n! I5 e
    / q6 a+ L! E. S& p# P
    , c. v+ N$ b$ P, p5 d! X# K& l% |

    5ej2rrfoyfj64029997621.png

    5ej2rrfoyfj64029997621.png

    7 o5 X: ]+ p* m6 l

    , p/ Z% h5 O4 ?1 `# V) H

    m1vkzzacjn164029997721.png

    m1vkzzacjn164029997721.png
    . f" d7 r3 n/ M% ]7 e) U" P$ M! z
    + N! M% [. v8 O4 ]+ ?) B

    rx51yznhvkh64029997821.png

    rx51yznhvkh64029997821.png

    : @" C9 I/ g' _5 ^' M7 Y
                            g* g: O! k! O4 H0 Y( ]6 j* q
    , D& [3 ^0 ^8 R5 M4 r
    3 {  X& Z9 b+ Q: G7 M! c

    1 {3 |& Z4 O& m( |4 A( e9 t4 @关于我们:/ U' e) @8 A- |! c
    深圳逍遥科技有限公司(Latitude Design Automation Inc.)是一家专注于半导体芯片设计自动化(EDA)的高科技软件公司。我们自主开发特色工艺芯片设计和仿真软件,提供成熟的设计解决方案如PIC Studio、MEMS Studio和Meta Studio,分别针对光电芯片、微机电系统、超透镜的设计与仿真。我们提供特色工艺的半导体芯片集成电路版图、IP和PDK工程服务,广泛服务于光通讯、光计算、光量子通信和微纳光子器件领域的头部客户。逍遥科技与国内外晶圆代工厂及硅光/MEMS中试线合作,推动特色工艺半导体产业链发展,致力于为客户提供前沿技术与服务。8 c. Y6 a, n5 B* t4 l6 B, I; D6 Q, c
    ) u4 M2 \0 ~. t0 p
    http://www.latitudeda.com/
    " f" H: L7 L8 P: j# C% ?! K(点击上方名片关注我们,发现更多精彩内容)
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


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