动态token推理的掩码分组GEMM方案
在自回归生成等场景中,token分配动态变化会导致传统GEMM计算效率下降。DeepGEMM的解决方案是:
- 掩码机制:通过布尔张量标识有效token位置,跳过无效计算
- 内存压缩:自动优化显存访问模式,减少冗余数据加载
- CUDA图兼容:支持与CUDA Graph技术配合使用,降低内核启动开销
Implement the process:
- 构建标识有效token的mask张量(形状为[M],类型torch.bool)
- 保持输入矩阵B的N/K轴维度固定
- 调用m_grouped_gemm_fp8_fp8_bf16_nt_masked函数
Caveats:
- 建议batch_size较大时(>64)启用此功能
- 可结合torch.compile进一步优化执行效率
- 输出自动对齐到BF16格式,无需额外转换
This answer comes from the articleDeepGEMM: An Open Source Library with Efficient Support for FP8 Matrix Operations (DeepSeek Open Source Week Day 3)The