- c2 f, \% O4 F在实际的硬件部署中,NVLink 和 RDMA 之间的带宽往往存在差异。NVLink 通常用于 GPU 之间的直接高速互连,提供极高的带宽;而 RDMA 则用于跨节点通信,带宽相对较低。DeepEP 的这些内核能够智能地感知并利用这种非对称性,高效地将数据在 NVLink 域和 RDMA 域之间进行转发。" O, q, U2 l5 [
2 ?1 m/ k9 W1 \! n这种精细化的资源管理不仅提高了吞吐量,还支持 SM(流式多处理器)数量控制。这意味着用户可以根据实际任务的需求,精细地调整计算资源的分配,进一步优化性能。$ y4 L! ^; z+ W3 I- f
& _2 c3 f' l w5 b# c3 t
"为了与DeepSeek-V3论文中提出的组限制门控算法保持一致,DeepEP 提供了一组针对非对称域带宽转发(例如将数据从 NVLink 域转发到 RDMA 域)进行优化的内核。这些内核提供高吞吐量,使其适合训练和推理预填充任务。此外,它们还支持 SM(流式多处理器)数量控制。" 5 b5 f1 `; s. Z5 g5 `1 ^; p; e 5 K: [7 l8 n% Z7 ~. _# z, l6 S低延迟内核:推理性能的保障" O S2 p( l: O O+ c
( \' G/ d8 }4 q2 x2 o对于在线推理服务而言,低延迟是至关重要的性能指标。DeepEP 专门为延迟敏感的推理解码任务设计了一组低延迟内核。这些内核通过直接使用 RDMA 通信,绕过 NVLink,从而尽可能地减少通信延迟。 1 I9 L- }7 @- [$ x1 V , L v; N9 R/ e* K& A: _! O在推理阶段,模型逐个生成 token,每次生成都需要进行通信。DeepEP 的低延迟内核能够将每次通信的时间压缩到微秒级别,从而显著提升整体的推理速度,降低用户感知的响应时间。 1 h. Y0 h( i1 v; f2 o6 D# _6 A0 ~3 n; q8 U5 Y
"对于延迟敏感的推理解码,DeepEP 包含一组具有纯 RDMA 的低延迟内核,以最大限度地减少延迟。"# v: Z) A( j* e: }6 g. l9 G* H
; [9 E. H* V% V2 z
通信计算重叠:系统级优化9 }, ^; e! @6 R7 f, u$ ^. n
1 n) N: m% W. A. k+ H4 H fDeepEP 引入了一种基于钩子的通信计算重叠机制,这是一种系统级的优化策略。传统的通信库通常需要占用一定的 SM 资源来进行通信调度和管理,这在一定程度上会影响计算效率。DeepEP 的创新之处在于,它的通信机制完全不占用任何 SM 资源,将宝贵的计算资源全部用于模型本身的计算。 ! Z7 ~) Y$ U; U7 H( B, f$ I1 B- b" E2 U
这种机制通过精心设计的钩子函数,将通信操作与计算操作异步地交织在一起。当 GPU 执行计算任务时,通信操作在后台并行进行,从而实现了计算和通信的高度并行,最大化了硬件资源的利用率。6 R( x1 O6 M, R. |
+ U4 T" ]1 r- `( 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控制,允许用户精细的控制通信和计算的时间。- F$ j7 ^* A$ G, R+ \- o' P+ W