HGEMM
Half-precision General Matrix Multiplication
半精度矩阵乘法 · GPU 加速深度学习的底层引擎
- 定义
- HGEMM(Half-precision General Matrix Multiplication)是AI领域的专业术语。HGEMM 是在 GPU 上使用 FP16(半精度)执行矩阵乘法的计算内核,配合 NVIDIA Tensor Core 等专用硬件可获得数倍于 FP32 的吞吐量。
最后更新:2026-04-21
什么是HGEMM?
HGEMM 是在 GPU 上使用 FP16(半精度)执行矩阵乘法的计算内核,配合 NVIDIA Tensor Core 等专用硬件可获得数倍于 FP32 的吞吐量。它是大模型训练和推理中最密集的算力消耗点——优化 HGEMM 的效率,直接决定了一块 GPU 能跑多大的模型、多快出结果。
- FP16 计算 + FP32 累加,兼顾速度与精度
- NVIDIA Tensor Core、AMD Matrix Core、ARM NPU 均有硬件级支持
- 是 LLM 训练/推理、科学计算中占比最高的单一算子
HGEMM详解
GEMM(通用矩阵乘法)是线性代数的基石操作,而 HGEMM 将其操作数从 FP32 降到 FP16,使单次运算的数据量减半、吞吐翻倍。NVIDIA 从 Volta 架构起引入 Tensor Core,专门加速混合精度矩阵运算;后续 Ampere、Hopper、Blackwell 架构持续提升 HGEMM 峰值算力。实际工程中,HGEMM 的性能高度依赖分块策略、共享内存布局和流水线调度——CUTLASS、cuBLAS 等库封装了这些优化。2025 年多篇论文聚焦于 AMD CDNA 和 FPGA 上的 HGEMM 优化,说明这一内核的重要性已超越 NVIDIA 生态。局限在于 FP16 动态范围有限,极端数值场景仍需 FP32 或 BF16 回退。
公式提示
C = α × A(FP16) × B(FP16) + β × C(FP32);A、B 以半精度存储和计算,累加器使用单精度保持数值稳定。
HGEMM的应用场景
正式定义
使用 FP16 浮点格式执行通用矩阵乘法(GEMM)的高性能计算内核,通常配合 FP32 累加器以保持数值精度。
应用场景
- 大语言模型训练与推理加速
- 计算机视觉模型的卷积层底层实现
- 科学计算中的大规模线性代数运算
常见误区
- 半精度不等于精度减半——配合 FP32 累加和损失缩放,训练精度几乎无损
- HGEMM 不只是 NVIDIA 专属,AMD、ARM、FPGA 平台均有对应实现
实际案例
📌 LLM 推理中的 HGEMM 瓶颈
GPT 级别模型推理时,注意力计算和前馈层的矩阵乘法占总算力 80% 以上。将这些 GEMM 从 FP32 切换到 HGEMM 后,A100 上推理吞吐提升约 2-3 倍,显存占用减半。
📌 CUTLASS 自定义 HGEMM 内核
NVIDIA CUTLASS 库允许开发者针对特定矩阵尺寸定制 HGEMM 分块和流水线策略,在非标准形状的矩阵运算中比 cuBLAS 默认实现快 20-40%。
HGEMM的参考来源
关于HGEMM的常见问题
- HGEMM 和普通 GEMM 有什么区别
- 普通 GEMM 用 FP32 计算,HGEMM 用 FP16 计算并以 FP32 累加。HGEMM 吞吐更高、显存更省,但需要硬件支持(如 Tensor Core)才能发挥优势。
- HGEMM 会影响模型精度吗
- 配合混合精度训练技术(FP32 累加 + 损失缩放),HGEMM 对最终模型精度的影响通常可忽略不计,但极端数值范围的任务可能需要 BF16 或 FP32 回退。
- 哪些硬件支持 HGEMM 加速
- NVIDIA Tensor Core(Volta 及以后)、AMD Matrix Core(CDNA 架构)、ARM/高通 NPU 以及部分 FPGA 平台均提供硬件级 HGEMM 加速。