: P Q7 J. I' j( D"对于延迟敏感的推理解码,DeepEP 包含一组具有纯 RDMA 的低延迟内核,以最大限度地减少延迟。" 9 ?/ ~# o- r4 Z5 K0 V, e% W& R6 j. e6 v! }, |8 K: N* }4 @
通信计算重叠:系统级优化) z c- \; z* u/ L. L* F
' K+ p( ^! ^1 k6 A2 M* k8 U9 ~DeepEP 引入了一种基于钩子的通信计算重叠机制,这是一种系统级的优化策略。传统的通信库通常需要占用一定的 SM 资源来进行通信调度和管理,这在一定程度上会影响计算效率。DeepEP 的创新之处在于,它的通信机制完全不占用任何 SM 资源,将宝贵的计算资源全部用于模型本身的计算。 7 y3 n2 N0 P3 L& \ [9 f, l" e4 Z1 \2 h# g
这种机制通过精心设计的钩子函数,将通信操作与计算操作异步地交织在一起。当 GPU 执行计算任务时,通信操作在后台并行进行,从而实现了计算和通信的高度并行,最大化了硬件资源的利用率。! V6 A, P7 E/ ?4 J# `3 ~
+ b1 H& B" P Y. r
"该库还引入了一种基于钩子的通信计算重叠方法,该方法不占用任何 SM 资源。" "NOTES: the actual tensor will not be received only if you call hook(), it is useful for double-batch overlapping, but without any SM occupation" DeepEP还提供了双批次(Double-Batch)重叠的方法,通过return_recv_hook控制,允许用户精细的控制通信和计算的时间。 ; b; h: @" M; l , R/ j N4 _2 o# }" O, l5 O6 U三、DeepEP 性能数据解读:以实测为依据 1 D2 L5 U7 U4 ? f8 BDeepSeek 团队在 H800 GPU 上对 DeepEP 进行了详尽的性能测试,并公开了测试数据。这些数据有力地证明了 DeepEP 在不同场景下的卓越性能。6 k8 o6 j1 h+ V
/ Q5 w% p! M8 v& N- e u( Y. A' B普通内核性能:逼近理论极限 4 ?' T6 W% c$ }+ M; _1 h( p7 I+ @5 @* L5 m! L. s
在 H800 硬件环境(NVLink 最大带宽约 160 GB/s,连接到 CX7 InfiniBand 400 Gb/s RDMA 网卡,最大带宽约 50 GB/s)下,DeepEP 的普通内核展现出了接近理论带宽极限的吞吐量。# Y" A" \% d4 m. @; L
1 N( ]7 P. U, l1 a9 V: O- |1 R6 Y- p' j4 G
这些数据清晰地表明: 8 a! a4 V. Y& [; A f9 N" o2 g0 R5 N4 X1 J
* DeepEP 能够充分利用 NVLink 和 RDMA 的带宽资源。) @/ z g0 p' G
* 在节点内部,DeepEP 的吞吐量几乎达到了 NVLink 的理论上限。; Q9 H$ b t- i9 ?5 X/ l H
* 在节点之间,DeepEP 的吞吐量也接近了 RDMA 的理论上限。 2 _6 A$ p0 r+ E: q2 r" i/ L7 Z* 无论是在节点内还是节点间通信,DeepEP 都展现出了极高的效率。 # u6 B/ G0 r7 n5 F/ Z低延迟内核性能:微秒级延迟 6 u0 n6 J( y4 J+ e9 }/ B- z0 Z& _% p8 e i! p0 u v! h* J2 [
低延迟内核的测试数据同样证明了 DeepEP 的出色设计: : w$ C; x% Z3 Z0 w0 r6 ^ - n5 q# x# w+ V3 [* A" T# _6 ~) V/ U4 G1 N7 h. o# M* p
这些数据表明,DeepEP的低延迟内核在保持高带宽的同时,将通信延迟控制在微秒级别,为实时推理应用提供了强有力的支持。3 b& ^ W, h: D. y$ ~6 u4 Y+ i
6 E7 N' @* ^& E0 O7 s! }正常, 不同DCS厂家的底层也不一定是一样的(没用过所有的,但是到目前我没见过一样的。。。), 而且一直在发展, 至少前几年我看到某家的DCS又进步了。。。而且随着芯片能力的增强,以前写代码要特别注意的事(比如执行时间), 现在都不用那么抠门地考虑了。$ c. c' L3 i5 ~; b/ x
1 W L7 ]! f) Y7 i