# OpenInfer：从零构建的纯 Rust CUDA 大模型推理引擎

> OpenInfer 是一个完全从零开始构建的 LLM 推理引擎，仅用 Rust 和 CUDA 实现，不依赖 PyTorch 或任何模型框架运行时。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-09T14:11:55.000Z
- 最近活动: 2026-06-09T14:24:49.849Z
- 热度: 154.8
- 关键词: Rust, CUDA, LLM, 推理引擎, PyTorch, Triton, Qwen, DeepSeek, Kimi, 开源
- 页面链接: https://www.zingnex.cn/forum/thread/openinfer-rust-cuda
- Canonical: https://www.zingnex.cn/forum/thread/openinfer-rust-cuda
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：openinfer-project
- 来源平台：github
- 原始标题：openinfer
- 原始链接：https://github.com/openinfer-project/openinfer
- 来源发布时间/更新时间：2026-06-09T14:11:55Z

# OpenInfer：从零构建的纯 Rust CUDA 大模型推理引擎\n\n大语言模型的推理部署长期被 PyTorch、TensorFlow 等框架主导，这些框架虽然功能强大，但也带来了复杂的依赖链和难以完全掌控的底层行为。OpenInfer 项目选择了一条更具挑战性的道路：完全从零开始，仅用 Rust 和 CUDA 构建一个生产级的 LLM 推理引擎。\n\n## 原作者与来源\n\n- **原作者/维护者**：openinfer-project\n- **来源平台**：GitHub\n- **原始标题**：openinfer\n- **原始链接**：https://github.com/openinfer-project/openinfer\n- **发布时间**：2026年6月9日\n\n## 项目概览\n\nOpenInfer 是一个追求极致精简和可控性的推理引擎。整个项目仅包含约 9600 行 Rust 代码、2600 行 CUDA 代码和 1400 行 Triton GPU 内核代码。没有 PyTorch，没有 ONNX，也没有任何模型框架运行时——只有 Rust 加上 CUDA、Triton AOT 和生成的兼容内核。\n\n这种设计哲学的核心目标是深入理解推理栈的每一层，同时探索 Rust 原生推理引擎的可能性边界。对于希望深入理解 LLM 推理底层机制的研究者和工程师来说，OpenInfer 提供了一个难得的纯净学习样本。\n\n## 架构设计与技术特点\n\n### 纯 Rust + CUDA 的实现路径\n\nOpenInfer 最显著的特点是其对 Rust 和 CUDA 的原生支持。项目充分利用了 Rust 的内存安全特性和 CUDA 的并行计算能力，通过 cudarc 库实现 Rust 与 CUDA 的无缝集成。这种组合既保证了代码的安全性，又实现了接近原生 CUDA 的性能。\n\n### Triton AOT 内核编译\n\n项目采用 Triton 进行 GPU 内核的提前编译（AOT），这意味着在构建阶段就完成了内核代码的优化和生成。运行时无需依赖 Python 环境，大大简化了部署流程。用户只需要在构建时准备 Python 环境安装 Triton，运行时即可完全脱离 Python 生态。\n\n### 模块化模型支持\n\nOpenInfer 采用模块化的模型架构设计。每个模型都有独立的 crate 实现，如 `openinfer-qwen3-4b`、`openinfer-qwen35-4b`、`openinfer-deepseek-v4` 等。这种设计使得添加新模型支持变得相对简单，同时也便于针对不同模型进行特定的优化。\n\n## 性能表现\n\n在 RTX 5070 Ti（16GB）上的实测数据显示了 OpenInfer 的竞争力：\n\n| 指标 | Qwen3-4B | Qwen3.5-4B |\n|------|----------|------------|\n| TTFT（短提示） | ~14 ms | ~22 ms |\n| TPOT（解码） | ~11 ms/tok | ~11.8 ms/tok |\n| 吞吐量 | ~91 tok/s | ~85 tok/s |\n\nTTFT（首 Token 时间）衡量从接收提示到生成第一个输出 Token 的延迟，包括分词、嵌入和完整的预填充过程。TPOT（每输出 Token 时间）则是解码阶段生成每个后续 Token 的平均时间。这些指标表明 OpenInfer 在消费级显卡上已经能够实现相当不错的推理性能。\n\n## 支持的模型与特性\n\n目前 OpenInfer 支持多种主流模型架构：\n\n### Qwen 系列\n- **Qwen3-4B/8B**：完整注意力机制（GQA），支持贪心解码和采样\n- **Qwen3.5-4B**：混合架构（24层线性注意力 + 8层完整注意力），在保持性能的同时降低计算开销\n\n### DeepSeek 系列\n- **DeepSeek-V2-Lite**：MoE + EP 架构，总参数量 157 亿，激活参数量 24 亿，支持双 GPU 路径\n- **DeepSeek-V4-Flash**：MoE + 稀疏注意力，MP8 检查点，总参数量 6710 亿，激活参数量 370 亿，需要 8 张 GPU 的 MP8 并行\n\n### Kimi K2\n- **Kimi-K2-Instruct**：MLA + MoE + Marlin INT4 量化，总参数量 1 万亿，激活参数量 320 亿，同样支持 8 GPU EP 路径\n\n值得注意的是，DeepSeek V4 和 Kimi K2 的支持目前处于功能门控状态，需要通过 `--features` 标志启用，并且运行时还需要 NCCL 2.27 或更高版本支持。\n\n## API 与使用方式\n\nOpenInfer 提供了与 OpenAI 兼容的 `/v1/completions` 端点，支持以下参数：\n\n- `prompt`：输入文本（必需）\n- `max_tokens`：最大生成 Token 数（默认 128）\n- `temperature`：采样温度（0 表示贪心解码）\n- `top_k`：Top-k 采样参数\n- `top_p`：核采样阈值\n- `stream`：是否启用 SSE 流式输出\n\n这种兼容性设计使得现有的 OpenAI 客户端可以几乎零成本地迁移到 OpenInfer。\n\n## 构建与部署\n\n构建 OpenInfer 需要以下环境：\n\n- Rust（2024 版本）\n- CUDA Toolkit（nvcc、cuBLAS）\n- NVIDIA 驱动 R535（CUDA 12.2）或更新版本\n- Python 3 + Triton（仅构建时需要）\n\n构建流程相对简单：\n\n```bash\n# 一次性 Python 环境设置\nuv venv && source .venv/bin/activate\nuv pip install torch --index-url https://download.pytorch.org/whl/cu128\n\n# 下载模型\nhuggingface-cli download Qwen/Qwen3-4B --local-dir models/Qwen3-4B\n\n# 构建并启动服务\nexport CUDA_HOME=/usr/local/cuda\nexport OPENINFER_TRITON_PYTHON=.venv/bin/python\ncargo run --release\n```\n\n## 实际意义与应用场景\n\nOpenInfer 的价值不仅在于其性能表现，更在于其教育意义和可控性。对于以下场景，OpenInfer 可能是一个值得考虑的选择：\n\n### 研究与教学\n作为完全从零实现的推理引擎，OpenInfer 的代码库是理解 LLM 推理机制的绝佳教材。没有框架的抽象层遮挡，每一行代码都直接对应着具体的计算逻辑。\n\n### 生产环境优化\n对于需要极致性能调优和完全控制推理行为的场景，OpenInfer 提供了不依赖外部框架的纯净环境。开发者可以精确控制内存分配、计算图优化和并发策略。\n\n### 边缘部署\n由于运行时依赖极少，OpenInfer 特别适合资源受限的边缘部署场景。没有庞大的 Python 依赖树，部署包可以做得非常精简。\n\n## 局限与未来展望\n\n目前 OpenInfer 仍处于积极开发阶段，存在一些已知限制：\n\n- 部分模型（DeepSeek V4、Kimi K2）需要特定功能标志和硬件配置\n- 采样和 logprob 支持因模型而异\n- Windows 支持相对较新，可能需要额外配置\n\n项目路线图显示团队正在持续扩展模型支持范围，优化性能，并改进跨平台兼容性。对于希望深入 LLM 推理底层的技术团队来说，OpenInfer 代表了一个值得关注的技术方向。\n\n## 结语\n\nOpenInfer 证明了即使没有 PyTorch 这样的工业级框架，仅用 Rust 和 CUDA 也能构建出功能完整、性能可观的 LLM 推理引擎。这种"从零开始"的方法虽然开发成本更高，但换来了对系统的完全理解和掌控。对于追求极致可控性和深入理解 AI 系统底层的技术团队而言，OpenInfer 提供了一个极具价值的技术选项。
