
hpc-ops
C++ 高性能 LLM 推理算子库,加速推理降延迟
hpc-ops 是一个面向大语言模型推理的高性能算子库,使用 C++ 编写。它解决的是 LLM 推理过程中算子性能瓶颈问题,为开发者提供经过优化的底层计算内核,以提升推理吞吐和降低延迟。核心能力包括:针对 Transformer 结构的关键算子(如矩阵乘、注意力、归一化等)进行硬件级优化,支持多种精度(FP16/BF16/INT8 等),并可能提供与主流推理框架的集成接口。项目定位为基础设施层组件,适合需要自研推理引擎或对现有推理链路做深度性能调优的团队。当前星标 1158,属于成长中项目,社区活跃度和生态集成仍在发展中。
项目数据
使用教程
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- 带 CUDA 的 NVIDIA GPU 环境(README 说明内核面向 NVIDIA GPU,示例使用 device="cuda")
- Python 环境与 PyTorch(示例代码 import torch)
- C++ 编译工具链(项目为 C++ 源码安装)
- Git(用于克隆仓库)
安装与启动步骤
-
1克隆代码仓库
从 GitHub 拉取 HPC-Ops 源码到本地,注意保持网络可访问 GitHub。
git clone https://github.com/Tencent/hpc-ops.git -
2进入项目目录
切换到刚克隆下来的 hpc-ops 目录,后续编译与测试都在此目录进行。
cd hpc-ops -
3编译安装
README 节选在 cd hpc-ops 处被截断,后续编译安装命令未给出,请打开仓库 README 的 Install from Source 小节按原文档执行。
-
4运行算子示例
使用 README 提供的 GroupGEMM FP8 示例验证安装是否可用,需在带 CUDA 的 GPU 机器上运行。
import torch import hpc num_tokens = 1024 num_group, n, k = 8, 4096, 4096 x = torch.randn((num_tokens, k), dtype=torch.float, device="cuda").to(torch.float8_e4m3fn) w = torch.randn((num_group, n, k), dtype=torch.float, device="cuda").to(torch.float8_e4m3fn) scale = torch.full((num_group,), 1.0, dtype=torch.float, device="cuda") num_tokens_per_group = torch.full((num_group,), 8, dtype=torch.int32, device="cuda") cu_num_tokens_per_group = torch.cumsum(torch.cat([torch.tensor([0], dtype=torch.int32, device="cuda"), num_tokens_per_group]), dim=0).to(torch.int32) output = hpc.group_gemm_pertensor_fp8( x, w, num_tokens_per_group, cu_num_tokens_per_group, scale, )
如何确认成功
能成功 import hpc,并跑通 group_gemm_pertensor_fp8 示例且不报错,即说明安装可用。
常见问题
Q:支持哪些 GPU?
A:README 说明内核面向现代 NVIDIA GPU,并针对 NVIDIA H20 深度优化,其他型号 GPU 未在节选中明确说明。
Q:其他算子怎么使用?
A:README 指出其他算子的用法请参考 tests/ 目录下对应的测试文件。
Q:支持哪些数据精度?
A:README 提到原生支持多种数据类型,包括 BF16 和 FP8(含不同量化方案)。
Q:能否集成到 vLLM 或 SGLang?
A:README 称提供简洁的 Python API,可无缝集成到 vLLM、SGLang 等主流推理框架。
注意事项
- README 节选中 Install from Source 的命令不完整,编译安装步骤必须以仓库最新 README 为准,不要自行猜测编译参数。
- 项目为 C++ 算子库,本地编译通常耗时较长,建议预留足够磁盘空间与时间。
- 官方基准对标 vLLM、SGLang、FlashInfer、NCCL、cuBLAS、TensorRT-LLM,调优前可参考 README 的 Performance 小节。
- 示例代码依赖 CUDA GPU 与 FP8 支持,无 GPU 环境无法验证。
核心亮点
- 纯 C++ 实现,便于嵌入现有推理引擎或自研框架
- 聚焦 LLM 推理关键算子,针对性优化计算性能
- 支持多精度计算,适应不同硬件和量化需求
不足之处
- 文档和示例可能不够完善,上手门槛较高
- 社区规模较小,生态集成和长期维护待观察
适用场景
- 自研 LLM 推理引擎时替换低效算子
- 对现有推理服务做性能调优,提升吞吐
- 在特定硬件上验证和优化 LLM 算子性能
替代项目
cutlass、flash-attention
项目介绍
同类项目推荐
freebuff-proxy
开源
聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。
OpenAI-compatible gateway for FreeBuff coding models. Token pool, session lifecycle,···
microduck
开源
用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。
A Tiny biped duck robot
soperator
开源
用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。
Run Slurm in Kubernetes
ollama
开源
一条命令本地跑起大模型,免费、私密、不卡顿
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···