算子列表#
本页列出了 FlagGems-vLLM 导出的算子,来源于 src/flaggems_vllm/ops/__init__.py。
FlagGems-vLLM 使用 Triton 编程语言提供了常用 vLLM 算子的优化实现。目前共导出以下 75 个算子:
激活与门控#
算子 |
描述 |
|---|---|
|
GEGLU 激活的反向传播 |
|
ReGLU 激活的反向传播 |
|
SwiGLU 激活的反向传播 |
|
GEGLU(带 GELU 的门控线性单元)激活 |
|
GELU 激活与逐元素乘法组合 |
|
ReGLU(带 ReLU 的门控线性单元)激活 |
|
SiLU(Swish)激活与逐元素乘法组合 |
|
SiLU 激活与乘法(非原地变体) |
|
SiLU 激活与乘法及截断 |
|
SiLU 激活与乘法及截断(非原地变体) |
|
SwiGLU(带 SiLU 的门控线性单元)激活 |
注意力#
算子 |
描述 |
|---|---|
|
应用旋转位置编码 |
|
MLA(多潜在注意力)的拼接与缓存 |
|
FlashAttention 前向传播 |
|
变长序列的 FlashAttention |
|
变长序列的优化 FlashAttention |
|
Flash 多潜在注意力 |
|
稀疏 Flash MLA 前向传播 |
|
带 KV 缓存支持的 Flash MLA |
|
KV 缓存的重塑与缓存 |
|
FlashAttention 的重塑与缓存 |
|
通过 Triton 实现的稀疏注意力计算 |
DeepSeek V4 注意力#
算子 |
描述 |
|---|---|
|
组合 DeepSeek V4 的 top-K 和滑动窗口注意力索引 |
|
计算 DeepSeek V4 的全局 top-K 索引和长度 |
|
DeepSeek V4 的 K 缓存反量化与收集 |
|
DeepSeek V4 的融合 Q/KV RMSNorm |
|
DeepSeek V4 的融合 Q-norm、RoPE、KV-RoPE、量化与插入 |
混合专家(MoE)#
算子 |
描述 |
|---|---|
|
分发融合 MoE 内核 |
|
融合 MoE 专家实现 |
|
MoE 路由的分组 top-K 选择 |
|
原地融合 MoE 专家 |
|
调用融合 MoE Triton 内核 |
|
MoE 块大小对齐 |
|
MoE 块大小对齐(Triton 变体) |
|
MoE 专家输出求和 |
|
非原地融合 MoE 专家 |
|
解码阶段的逐行 top-K |
|
预填充阶段的逐行 top-K |
|
MoE 门控的 top-K softmax |
|
MoE 门控的 top-K softplus 与 sqrt |
线性与矩阵#
算子 |
描述 |
|---|---|
|
通过 CUTLASS 实现的缩放矩阵乘法 |
|
逐元素乘法 |
|
逐元素乘法(原地) |
|
矩阵-向量乘法 |
|
两个向量的外积 |
归一化#
算子 |
描述 |
|---|---|
|
加法与 RMSNorm |
|
融合加法与 RMSNorm |
|
实例归一化 |
|
跳跃连接与 LayerNorm |
|
权重归一化 |
|
权重归一化接口 |
|
权重归一化接口反向传播 |
归约与工具#
算子 |
描述 |
|---|---|
|
在生成过程中应用重复惩罚 |
|
统计每个值的频率 |
|
交叉熵损失计算 |
|
打包序列 |
|
解包序列 |
量化#
算子 |
描述 |
|---|---|
|
融合索引器 Q 与 RoPE 和量化 |
|
融合逆 RoPE 与 FP8 量化 |
|
逐 token 分组 FP8 量化 |
DSA — 深度稀疏注意力#
算子 |
描述 |
|---|---|
|
桶排序 top-K 选择 |
|
收集索引器 K 与量化缓存 |
|
索引器 K 量化与缓存 |
FLA — Flash 线性注意力#
算子 |
描述 |
|---|---|
|
门控 delta 规则计算 |
|
门控 delta 规则前向传播 |
|
融合循环门控 delta 规则前向传播 |
MHC — 多头兼容性#
算子 |
描述 |
|---|---|
|
头-通道融合内核 |
|
头-通道融合内核(参考实现) |
|
MHC 反向传播 |
|
MHC 反向传播(参考实现) |
|
MHC 后处理 |
|
MHC 预处理 |
|
Sinkhorn 前向计算 |
RWKV#
算子 |
描述 |
|---|---|
|
RWKV 键-注意力融合内核 |
|
RWKV 矩阵乘法稀疏性内核 |