← 全部 AgentX 优化

AgentX 行业影响 · 内核

ROCm AITER

ATOM、AMD vLLM 与 AMD SGLang 的长上下文执行都依赖与之匹配的底层 AITER 内核,因为引擎层的并行策略只有在内核能够表达时才是真实可用的。

加宽行索引后可覆盖的 token 数
>131k
超过 4 GB 的池所需的寻址位宽
64-bit
可避免静默访问错误行的行数量级
~150M

Context-parallel 进程组

Prefill 的 context-parallel 进程组提供了 prefill context parallelism 所需的额外 query 分片维度,同时把融合内核的行索引加宽到可支持 131,000 token 以上的 prompt。Decode context parallelism(DCP)则把 KV 切分到已有的张量并行 GPU 上,使更长的序列或更大的 batch 无需在每个 rank 上复制整份 cache 就能容纳。

地址位宽:短请求几乎永远碰不到的失败

大 cache 暴露出一类短固定请求基本碰不到的失败:地址位宽。在单个 cache 池跨过边界之前,32 位偏移完全够用;一旦越界,运算就会回绕,内核会访问到错误的行,而且不会抛出任何错误。

AITER 为超过 4 GB 的 batch prefill 增加了运行时 64 位分发,为超过 2 GB 的场景提供 64 位 MLA 偏移,并在 DeepSeek-V4 的统一 cache 路径中全面采用 64 位寻址——最后一项避免了在约 1.5 亿行的池中静默读写到错误的行。

约 1.5 亿行的统一 KV 池的两幅对比图:使用 32 位偏移时,超过 4 GB 的访问会回绕到另一行;使用 64 位偏移时,访问到的正是目标行。
在单个 cache 池跨过 4 GB 之前,32 位偏移都够用;一旦越界,运算回绕,内核就会读写到另一行,并且不会报错。查看原始分辨率图片

面向常见 head 打包方式的常驻 MLA decode

DeepSeek-V4 的 decode 还获得了面向 64 head 与 128 head MTP 打包方式的常驻 MLA 内核。这两种 head 数量正是普通解码与 speculative 验证实际产生的形态,因此引擎在常见形状上获得了专门的长上下文路径,而不是把它们当作某个为短上下文编写的内核的附带变体。这与前面 vLLM 选择 AITER sparse-MLA 内核的论点相同:在长上下文下,通用路径不是一种小幅妥协,而根本就是错误的内核。

其他项目