# CUDA 90天硬核攻坚：用Rust和C++打造生产级LLM推理基础设施

> 一个系统性的90天学习计划，探索如何用Rust和CUDA C++编写原生GPU核函数，构建内存安全、高并发的AI推理系统。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-06-10T07:15:20.000Z
- 最近活动: 2026-06-10T07:23:25.571Z
- 热度: 156.9
- 关键词: CUDA, GPU编程, Rust, AI基础设施, LLM推理, 高性能计算, cuda-oxide, SGLang, Candle, PyTorch, 系统编程
- 页面链接: https://www.zingnex.cn/forum/thread/cuda-90-rustc-llm
- Canonical: https://www.zingnex.cn/forum/thread/cuda-90-rustc-llm
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：wenfeizou
- 来源平台：github
- 原始标题：cuda-90days
- 原始链接：https://github.com/wenfeizou/cuda-90days
- 来源发布时间/更新时间：2026-06-10T07:15:20Z

# CUDA 90天硬核攻坚：用Rust和C++打造生产级LLM推理基础设施\n\n## 原作者与来源\n\n- **原作者/维护者**: wenfeizou\n- **来源平台**: GitHub\n- **原始标题**: cuda-90days: 90-day AI Infra engineering\n- **原始链接**: https://github.com/wenfeizou/cuda-90days\n- **发布时间**: 2026年6月10日\n\n---\n\n## 项目背景：从系统开发到AI基础设施的转型\n\n随着大语言模型（LLM）的快速发展，AI基础设施（AI Infrastructure）已经成为技术领域最热门、最具挑战性的方向之一。然而，真正深入理解并能够开发高性能AI推理系统的工程师却凤毛麟角。\n\nwenzifou创建的cuda-90days项目，正是记录这一转型过程的硬核实验仓库。项目目标非常明确：**用90天时间，从系统级开发向AI基础设施与高性能推理引擎转型**，通过实际可运行的实验、基准测试和性能分析，将兴趣转化为看得见的工程证据。\n\n这个项目的独特之处在于，它不仅仅是一个学习笔记的集合，而是一个强调**实践优先**的工程记录——少写空泛笔记，多留下能运行的代码、benchmark和profiling记录。\n\n---\n\n## 核心技术路线：Rust + CUDA C++ 双轨并行\n\n### 为什么选择Rust？\n\n在AI基础设施领域，Python和C++长期占据主导地位。然而，wenfeizou选择了一条更具挑战性的路径：**用Rust编写原生GPU核函数**。这个选择基于以下考量：\n\n1. **内存安全**：Rust的所有权系统可以在编译期避免内存错误，这对于生产级系统至关重要\n2. **零成本抽象**：Rust提供高级语言特性的同时保持接近C/C++的性能\n3. **现代工具链**：Cargo生态系统提供了优秀的依赖管理和构建体验\n4. **FFI能力**：Rust可以方便地与C/C++代码交互，便于集成现有CUDA生态\n\n### cuda-oxide：Rust原生GPU编程\n\n项目的核心实验之一是使用`cuda-oxide` crate，这是一个允许开发者用Rust编写CUDA核函数的库。通过它，开发者可以：\n\n- 在Rust中直接定义GPU核函数\n- 管理GPU内存分配和数据传输\n- 调用CUDA运行时API\n- 实现与C++ CUDA代码的互操作\n\n这种"Rust原生GPU编程"的方式，为AI基础设施开发开辟了一条新路。\n\n### CUDA C++：战术防御与体系结构理解\n\n尽管Rust是项目的主攻方向，但wenfeizou深知CUDA C++的重要性。学习CUDA C++不仅是为了能够阅读和复用现有的大量CUDA代码，更是为了深入理解GPU体系结构——\n\n- **线程层次结构**：理解grid、block、thread的组织方式\n- **内存层次**：掌握global、shared、local、constant内存的使用策略\n- **warp执行模型**：理解SIMT架构和分支发散的影响\n- **性能优化**：学习coalesced memory access、bank conflict avoidance等优化技巧\n\n---\n\n## 90天路线图：从内核到全链路闭环\n\n项目的核心主线是：\n\n```\nCUDA kernel development -> Rust GPU programming -> LLM inference infrastructure\n```\n\n这个路线图清晰地展示了从底层到上层的递进关系：\n\n### 第一阶段：CUDA Kernel开发基础\n\n在这个阶段，重点是掌握GPU编程的基础知识：\n\n- **向量加法、矩阵乘法**：理解基本的并行计算模式\n- **内存优化**：实践shared memory、coalesced access等技术\n- **规约算法**：学习tree-based reduction等并行算法\n- **卷积操作**：为深度学习算子打下基础\n\n### 第二阶段：Rust GPU编程\n\n在掌握CUDA C++基础后，开始探索Rust原生GPU编程：\n\n- **cuda-oxide基础**：学习Rust中定义核函数的语法\n- **内存管理**：在Rust中安全地管理GPU内存\n- **FFI边界**：处理Rust与C/C++ CUDA代码的交互\n- **异步执行**：结合Rust的async/await与CUDA流\n\n### 第三阶段：LLM推理基础设施\n\n最终目标是构建面向工业级大模型推理的高性能系统：\n\n- **算子优化**：实现和优化Transformer核心算子\n- **内存管理**：设计高效的KV Cache管理策略\n- **批处理调度**：实现动态批处理和请求调度\n- **分布式推理**：探索多GPU、多节点推理架构\n\n---\n\n## 仓库结构解析：工程化的学习管理\n\n这个项目的仓库结构本身就是一份优秀的工程实践指南：\n\n```\ncuda-90days/\n├── README.md                 # 项目概述\n├── days/                     # 90天每日实验记录\n├── kernels/                  # 核函数实现\n│   ├── cuda_cpp/            # CUDA C++核函数\n│   └── cuda_oxide/          # Rust/cuda-oxide核函数\n├── frameworks/               # 框架层\n│   ├── pytorch/             # PyTorch基线和对照\n│   └── candle/              # Rust原生推理框架\n├── runtime/                  # 推理运行时\n│   └── sglang/              # SGLang学习记录\n├── infra/                    # 支撑能力层\n│   ├── linux/               # Linux系统能力\n│   ├── cpp/                 # C++支撑能力\n│   ├── rust/                # Rust支撑能力\n│   └── python/              # Python工具层\n├── benchmarks/               # 性能测试\n│   ├── configs/             # 测试配置\n│   ├── scripts/             # 测试脚本\n│   └── results/             # 测试结果\n├── models/                   # 模型结构和部署记录\n├── reports/                  # 阶段复盘和最终报告\n├── scripts/                  # 通用脚本\n├── configs/                  # 通用配置\n└── docs/                     # 文档和参考资料\n```\n\n这种结构体现了几个重要的工程原则：\n\n1. **关注点分离**：每个目录有明确的职责，避免代码混杂\n2. **可复现性**：实验记录、benchmark结果、配置文件都妥善保存\n3. **渐进式学习**：从基础到高级，从单一技术到系统集成\n4. **实用性导向**：每个实验都强调可运行、可度量、可分析\n\n---\n\n## 支撑能力层：构建完整的技术栈\n\n### Linux系统能力\n\nGPU开发离不开对Linux系统的深入理解。项目关注：\n\n- **驱动和CUDA Toolkit安装**：NVIDIA驱动的版本管理\n- **Nsight工具链**：性能分析和调试\n- **动态库管理**：LD_LIBRARY_PATH、rpath等\n- **性能观察**：nvidia-smi、nvtop等工具的使用\n- **环境排查**：常见GPU环境问题诊断\n\n### C++支撑能力\n\nC++是CUDA开发的基础，项目重点关注：\n\n- **CMake构建系统**：现代C++项目的标准构建工具\n- **内存模型**：理解C++的内存管理和RAII\n- **模板编程**：CUDA中大量使用模板元编程\n- **Host/Device代码组织**：分离CPU和GPU代码的最佳实践\n- **FFI边界**：与Rust的互操作接口设计\n\n### Rust支撑能力\n\n作为项目的主攻语言，Rust的学习重点包括：\n\n- **unsafe Rust**：CUDA编程不可避免地需要unsafe代码\n- **所有权和生命周期**：在GPU编程中管理内存安全\n- **FFI和C绑定**：调用CUDA运行时API\n- **异步运行时**：tokio与CUDA流的结合\n- **推理系统调度**：高并发请求的处理\n\n### Python工具层\n\nPython在项目中定位为工具层：\n\n- **PyTorch基线**： correctness oracle和性能对照\n- **数据生成**：测试数据的准备\n- **Correctness检查**：验证自研kernel的正确性\n- **Benchmark处理**：结果分析和可视化\n\n---\n\n## 推理运行时：SGLang深度研究\n\n项目选择SGLang作为重点学习的推理运行时，这是一个明智的选择。SGLang是一个用于LLM和VLM serving的高性能运行时，具有以下特点：\n\n### SGLang的核心特性\n\n1. **结构化生成**：支持JSON、正则表达式等结构化输出\n2. **RadixAttention**：高效的KV Cache管理机制\n3. **Runtime调度**：请求调度、批处理、流水线并行\n4. **多模态支持**：原生支持视觉语言模型\n\n### 学习价值\n\n通过研究SGLang，可以学习到：\n\n- **高性能serving系统的设计原则**\n- **KV Cache管理的最佳实践**\n- **请求调度和批处理策略**\n- **如何平衡延迟和吞吐量**\n\n---\n\n## 框架层：PyTorch与Candle的对比学习\n\n### PyTorch：基线和正确性验证\n\nPyTorch在项目中扮演重要角色：\n\n- **Correctness Oracle**：验证自研kernel的正确性\n- **性能基线**：对比自研实现的性能\n- **CUDA Extension学习**：理解PyTorch如何集成CUDA代码\n- **编译器技术**：学习torch.compile、Inductor、Triton的基本机制\n\n### Candle：Rust-native推理框架\n\nCandle是Hugging Face开发的Rust深度学习框架，是项目的Rust主线：\n\n- **Tensor抽象**：理解Rust中的张量操作\n- **Model Loading**：加载和使用预训练模型\n- **CUDA Backend**：使用CUDA后端加速推理\n- **Custom Op**：集成自研kernel到框架\n- **轻量Pipeline**：构建端到端的推理流程\n\n---\n\n## 实验环境配置\n\n项目使用以下硬件和软件环境：\n\n| 组件 | 版本/规格 |\n|------|----------|\n| OS | Ubuntu 26.04 LTS |\n| CUDA Toolkit | 13.3 |\n| Rustc | 1.98+ |\n| 核心Crates | cuda-oxide, tokio, candle-core |\n| 性能分析工具 | NVIDIA Nsight Systems / Nsight Compute |\n\n这个配置体现了项目的前沿性——使用最新的Ubuntu和CUDA版本，以及Rust生态中最新的AI基础设施工具。\n\n---\n\n## 复盘与度量：数据驱动的学习\n\n项目强调每个实验都要保留三个关键产出：\n\n1. **Correctness验证**：确保实现正确\n2. **Benchmark结果**：量化性能表现\n3. **Profiling分析**：理解性能瓶颈\n\n此外，项目还规划了定期的复盘节点：\n\n- **每15天**：输出阶段复盘报告\n- **90天结束**：形成最终总结报告\n\n这种数据驱动的学习方法，确保了学习过程的可追踪性和可评估性。\n\n---\n\n## 对AI基础设施学习者的启示\n\n### 实践优先\n\ncuda-90days项目最大的启示是**实践优先**的学习理念。与其阅读大量论文和文档，不如动手写代码、跑实验、做分析。只有通过实际的benchmark和profiling，才能真正理解性能特征和优化空间。\n\n### 系统思维\n\nAI基础设施不仅仅是写kernel那么简单，它需要：\n\n- **系统级理解**：从硬件到软件的完整栈\n- **性能意识**：每个决策都要考虑性能影响\n- **工程能力**：代码质量、测试、文档同样重要\n- **持续学习**：技术快速迭代，保持学习热情\n\n### Rust在AI基础设施中的潜力\n\n这个项目展示了Rust在AI基础设施领域的巨大潜力：\n\n- **内存安全**：减少生产环境中的内存错误\n- **性能**：零成本抽象保证性能不妥协\n- **并发**：所有权系统天然支持安全并发\n- **生态**：candle、burn等Rust ML框架正在快速发展\n\n---\n\n## 总结与展望\n\ncuda-90days是一个极具价值的开源学习项目。它不仅记录了作者从系统开发到AI基础设施的转型历程，更为社区提供了一份系统性的学习路线图和实践指南。\n\n通过Rust和CUDA C++的双轨学习，项目展示了如何构建内存安全、高性能的AI推理系统。这种"硬核"的学习方式，正是成为优秀AI基础设施工程师的必经之路。\n\n对于希望进入AI基础设施领域的开发者来说，这个项目提供了：\n\n- **清晰的学习路线图**：90天循序渐进的学习计划\n- **工程化的学习方法**：强调实践、度量和复盘\n- **完整的技术栈覆盖**：从底层kernel到上层推理系统\n- **前沿的技术选择**：Rust原生GPU编程的探索\n\n随着项目的推进，我们期待看到更多实际的kernel实现、benchmark结果和性能优化经验。这不仅对作者个人的职业发展有价值，也将为整个AI基础设施社区贡献宝贵的实践经验。\n\n如果你也对AI基础设施和高性能计算感兴趣，不妨关注这个项目，跟随wenfeizou的90天攻坚之旅，一起探索Rust和CUDA的无限可能。\n\n---\n\n**关键词**: CUDA, GPU编程, Rust, AI基础设施, LLM推理, 高性能计算, cuda-oxide, SGLang, Candle, PyTorch, 系统编程
