一、摘要
HPC-Ops 是腾讯混元(Hunyuan)AI Infra 团队开源的生产级 LLM 推理算子库,目标是让主流推理卡(尤其是 NVIDIA Hopper/SM90,如 H20)更接近硬件峰值利用率。项目主打从零用 CUDA + CuTe/CUTLASS 打磨 SOTA 内核,并提供相对干净的 API,方便集成到 vLLM、SGLang 等推理框架中,面向 BF16/FP8 等多精度推理场景。
二、核心特性
1、面向生产的极致性能:针对推理关键路径深度优化,官方给出 Attention / GroupGEMM / FusedMoE 的最大观测加速比(最高可达 2.22x)。
2、关键算子覆盖:包含 Attention(Prefill/Decode,含 paged attention)、Grouped GEMM、Fused MoE 等推理高频算子。
3、多精度与量化支持:原生支持 BF16、FP8,并覆盖不同量化缩放方式(如 block-wise / per-tensor)。
4、易集成与可读性:强调“干净抽象 + 可定制”,同时把内核实现做成现代 CUDA 学习样例,降低二次开发门槛。
三、安装
1、环境要求:NVIDIA SM90 架构 GPU;Python 3.8+;支持 C++17 的编译器;CUDA Toolkit 12.8+。
2、源码安装(构建 wheel):
git clone https://github.com/Tencent/hpc-ops.gitcd hpc-opsmake wheelpython3 -m pip install dist/*.whl- 3、依赖建议:按仓库的
requirements-dev.txt准备开发/测试依赖,便于跑用例与对齐版本。
四、典型用例
1、MoE 模型推理加速:用 FusedMoE / GroupGEMM 降低专家路由后的 GEMM 与融合开销,提升 QPS/QPM。
2、长上下文与高并发服务:Attention(含 paged attention)对 prefill/decode 的吞吐与时延更敏感,适合在高负载下压榨 GPU。
3、推理框架二次集成:在 vLLM、SGLang 等运行时中替换/扩展关键算子,实现“局部换内核、整体收益”的工程路径。
4、内核研发与教学:把 CuTe/CUTLASS 的工程化落地当作可读样例,用于团队训练与新算子迭代。
五、生态与竞品
1、生态位置:HPC-Ops 更像“高性能算子底座”,适合与推理框架(vLLM、SGLang)组合使用,而不是直接替代完整推理引擎。
2、竞品/对标:Attention 方向常见对比 FlashAttention/FlashInfer/TensorRT-LLM;MoE 与 GEMM 方向常见对比 TensorRT-LLM、DeepGEMM 等。HPC-Ops 的差异点在于对特定硬件与生产负载做更激进的微架构优化与工程抽象。
六、局限与注意事项
1、硬件门槛:当前明确要求 SM90(Hopper)GPU;其他架构的可用性与收益需要自行验证。
2、版本耦合:对 CUDA 版本、编译器与依赖较敏感,建议严格按仓库说明锁定环境。
3、“最大观测加速比”不等于稳定收益:不同 batch、序列长度、并发与算子融合方式会导致收益差异,需用自家 workload 做基准测试。
4、集成成本:在现有推理栈替换算子时要关注数值一致性、精度策略(BF16/FP8)与回退路径,避免线上不可控风险。
七、项目地址
https://github.com/Tencent/hpc-ops
八、常见问题
Q: HPC-Ops 是什么,适合用来做什么?
A: 它是高性能 LLM 推理算子库,适合在 vLLM/SGLang 等框架中替换关键算子以提升吞吐与 GPU 利用率。
Q: HPC-Ops 支持哪些 GPU 与 CUDA 版本?
A: 官方要求 NVIDIA SM90(Hopper)架构 GPU,且 CUDA Toolkit 需 12.8 及以上。
Q: HPC-Ops 的核心算子覆盖哪些推理环节?
A: 覆盖 Attention(prefill/decode,含 paged attention)、Grouped GEMM、Fused MoE 等推理关键路径算子。
Q: HPC-Ops 的 FP8 量化/缩放方式怎么选?
A: 先按仓库提供的接口与测试用例跑通,再结合精度目标与性能指标选择 block-wise 或 per-tensor 等缩放策略,并做端到端回归。
Q: 如何评估 HPC-Ops 在我自己的模型/业务上的收益?
A: 用真实请求分布(序列长度、batch、并发、MoE 配置)做 A/B 基准,并分别衡量 prefill、decode 与端到端吞吐/时延。