THE AI INFRA READING ROOM

AI Infra 学习资料索引

先用教程建立全貌,再跟着小例子动手。从算子、训练与推理出发,逐步理解整个系统。

42份精选资源7个学习方向
AI INFRA学习地图
教程与精选合集从这里开始

每组先看起步资源,进阶教程、源码与手册收在「继续深入」。阅读建议也注明了前置基础与环境要求。

起步顺序是本站的编辑建议,每个方向仍有不同的前置基础。教程与示例链接到原始出处,环境、工具版本与支持范围请以原项目说明为准。

全部资源

共 42 份,其中 21 份起步资源

START HERE

教程与精选合集

先选一套课程建立全貌,精选合集留作按需查阅。

从这里开始

学习教程caomaolufei

AIInfraGuide

中文 AI Infra 学习入口,串联算子、推理与训练,适合先了解各方向解决什么问题。

先浏览导读,选一个方向开始,不必一次读完所有章节。

  • 中文
  • AI Infra
  • 学习路径
学习教程Infrasys-AI

AI System

从 AI 系统视角组织课程资料,帮助连接框架、编译和硬件概念。

先读系统概览,再按当前需要选择框架或硬件专题。

  • 中文
  • AI 系统
  • 课程
学习教程gpu-mode

GPU MODE Lectures

GPU 编程与优化讲座的配套材料,包含幻灯片、Notebook 和示例代码。

从前几讲的编程与 PMPP 基础开始,后续专题按需选择。

  • 英文
  • GPU
  • 课程
学习教程harvard-edge

Machine Learning Systems

以系统视角解释机器学习工程,适合建立计算、模型和部署之间的整体认识。

先读概览与基础章节,阅读教材本身不需要 GPU。

  • 英文
  • 教材
  • MLSys
继续深入 2 份
精选合集DefTruth

Awesome LLM Inference

按主题汇集推理论文与实现,适合在掌握基础后查找特定优化方向。

有明确问题后再查对应主题,不作为从头顺读的课程。

  • Awesome
  • 推理
  • 论文
精选合集AI-Infra-Team

AI Infra Awesome Papers

整理 AI 框架、分布式系统与集群管理的论文阅读和讨论资料。

在了解一个系统的基本实现后,选择相关论文继续阅读。

  • Awesome
  • 论文
  • 分布式
GPU PROGRAMMING

算子与编程

先写向量加法与规约,再阅读高性能算子和编译实现。

从这里开始

学习教程Infatoshi

CUDA Course

配套视频的 CUDA 课程,从环境、C/C++ 回顾和第一个 Kernel 逐步进入优化。

先完成环境与第一个 Kernel,需要 NVIDIA GPU 运行 CUDA 示例。

  • 英文
  • CUDA
  • 视频课程
学习教程srush

GPU Puzzles

使用 Python 与 Numba 的交互练习,从索引、边界判断到共享内存建立并行直觉。

从 Map 和 Zip 开始,按仓库说明准备 GPU Notebook 环境。

  • 英文
  • Python
  • 练习
学习教程triton-lang.org

Triton Tutorials

官方教程从向量加法依次讲解 Softmax 和矩阵乘,适合边读边运行示例。

会用 PyTorch 张量后,从 Vector Addition 开始并检查设备兼容性。

  • 英文
  • Triton
  • GPU
继续深入 6 份
学习教程BBuf

CUDA 优化笔记

BBuf 的算子优化学习记录,结合实现、测量与分析理解性能改进。

写过基础算子后再读 Reduce、Softmax 与矩阵乘相关记录。

  • 中文
  • CUDA
  • 优化
开源项目NVIDIA

CUTLASS

GPU 线性代数模板与工具,适合深入矩阵乘的分层计算与数据搬运。

理解 Tiling 与共享内存后,选择一个 GEMM 示例阅读。

  • CUDA
  • GEMM
  • Tensor Core
开源项目Dao-AILab

FlashAttention

高效 Attention 的论文与实现入口,帮助研究分块计算与显存访问优化。

先理解普通 Attention,再结合论文阅读对应实现。

  • Attention
  • CUDA
  • 访存
开源项目flashinfer-ai

FlashInfer

面向模型推理的 GPU 算子库,包含 Attention 等推理计算组件。

了解推理流程与 KV Cache 后,再选择一个算子追踪实现。

  • Attention
  • 推理算子
  • GPU
开源项目tile-ai

TileLang

以 Tile 为中心表达 GPU 算子,适合进一步研究计算分块与编译映射。

完成基础 GPU 编程后,从仓库的简单示例进入。

  • DSL
  • 编译器
  • Tile
开源项目NVIDIA

CCCL

汇集 Thrust、CUB 与 libcudacxx,用于查阅 CUDA 并行算法和基础组件。

自己实现规约与前缀和后,再与 CUB 等组件对照。

  • CUDA
  • Reduce
  • Scan
INFERENCE

推理与服务

先跑通文本生成,再理解引擎结构与服务部署。

从这里开始

学习教程huggingface.co

Transformers 文本生成教程

从模型加载到生成参数,用一个完整示例理解文本生成的使用流程。

先跑通一次生成,模型规模和精度会影响显存需求。

  • 英文
  • PyTorch
  • 生成
学习教程karpathy

llama2.c

用简洁的 C 实现展示模型前向与自回归生成,适合理解推理执行流程。

具备 C 与 Transformer 基础后,用小模型运行并阅读 run.c。

  • 英文
  • C
  • CPU 可实践
学习教程docs.vllm.ai

vLLM Quickstart

官方快速入门包含离线生成和在线服务,用一次请求建立框架使用经验。

先核对设备与安装要求,再跑离线示例,暂不从引擎源码开始。

  • 英文
  • vLLM
  • 服务
学习教程docs.sglang.io

SGLang Quickstart

通过启动模型服务并发送请求,学习一个最小的大模型服务流程。

当前快速入门面向 Linux 与 NVIDIA GPU,先核对安装要求。

  • 英文
  • SGLang
  • 服务
继续深入 2 份
开源项目GeeeekExplorer

Nano vLLM

精简的推理引擎实现,适合在跑通生成之后研究缓存、调度与模型执行。

先掌握 Transformer 与 CUDA 基础,再沿请求执行路径阅读。

  • Python
  • KV Cache
  • 源码阅读
开源项目NVIDIA

TensorRT-LLM

NVIDIA 的大模型推理工具,可用于进一步研究模型执行与 GPU 部署优化。

已有推理实践后,再按支持矩阵选择设备、模型和示例。

  • NVIDIA
  • 推理优化
  • 部署
TRAINING

训练与自动求导

先理解梯度与训练循环,再学习并行训练框架。

从这里开始

学习教程docs.pytorch.org

PyTorch Learn the Basics

官方教程覆盖张量、数据、模型、自动求导与优化,适合先完成一次训练。

按教程顺序跑通训练循环,再回头理解梯度和参数更新。

  • 英文
  • PyTorch
  • 训练基础
学习教程karpathy

micrograd

以标量运算实现小型自动求导引擎,通过简单例子理解计算图和反向传播。

先运行 Value 示例与 backward,再阅读 engine.py,无需 GPU。

  • 英文
  • Python
  • CPU 可实践
学习教程docs.pytorch.org

PyTorch DDP 入门

通过小模型学习多进程训练与梯度同步,把单设备训练扩展到数据并行。

先会写单设备训练循环,再了解进程与通信,运行前核对设备要求。

  • 英文
  • DDP
  • 分布式
继续深入 3 份
开源项目pytorch

TorchTitan

基于 PyTorch 的分布式训练参考实现,帮助理解多种并行策略的组合。

理解 DDP 与模型状态后,再研究各类并行配置。

  • PyTorch
  • 并行策略
  • 训练
开源项目deepspeedai

DeepSpeed

训练优化工具,通过 ZeRO 等实现进一步理解显存和模型状态管理。

理解参数、梯度与优化器状态后,再学习 ZeRO 的拆分方式。

  • ZeRO
  • 显存
  • 分布式
开源项目NVIDIA

Megatron-LM

大规模 Transformer 训练实现,可进一步研究模型并行和分布式执行。

已有训练与通信基础后,再读张量并行和流水线并行。

  • 模型并行
  • Transformer
  • 分布式
COMMUNICATION

多卡与集合通信

从进程与通信原语开始,逐步学习 NCCL 的调用和测试。

从这里开始

学习教程docs.pytorch.org

PyTorch 分布式通信教程

从进程、点对点传输和集合操作开始理解通信,适合进入 NCCL 之前阅读。

先运行 CPU 与 Gloo 示例,理解 rank、world size 和 AllReduce。

  • 英文
  • Gloo
  • CPU 可实践
学习教程docs.nvidia.com

NCCL 集合操作图解

官方用示意图解释 AllReduce、AllGather 与 ReduceScatter 等集合操作的语义。

先画清每个 rank 的输入和输出,仅阅读图解不需要 GPU。

  • 英文
  • NCCL
  • 通信原语
学习教程docs.nvidia.com

NCCL 调用示例

官方示例展示通信器初始化与集合调用,把通信概念对应到 CUDA 代码。

理解 CUDA Stream 后,从单进程示例开始,实际运行需匹配设备与环境。

  • 英文
  • NCCL
  • CUDA
继续深入 3 份
学习教程FZJ-JSC

Multi-GPU Programming Tutorial

Jülich 的多 GPU 编程课程包含讲义和动手练习,覆盖 NCCL、MPI 与通信计算重叠。

具备 CUDA 和 MPI 基础后读第七、八部分,课程集群环境需自行适配。

  • 英文
  • NCCL
  • 动手实验
开源项目NVIDIA

NCCL Tests

NVIDIA 的通信正确性与性能测试工具,用于观察不同消息大小下的通信行为。

理解集合操作后再跑测试,先阅读构建说明和性能指标定义。

  • NCCL
  • 带宽
  • 测试
开源项目NVIDIA

NCCL 源码

NVIDIA GPU 集合通信库的实现,适合在理解接口和测量方法后继续研究。

先完成示例与测试,再围绕具体操作阅读实现。

  • NCCL
  • 集合通信
  • 源码阅读
PROFILING

性能分析

先跟教程采集一次运行,再学习时间线与硬件指标。

从这里开始

学习教程docs.pytorch.org

PyTorch Profiler 入门

跟随官方 Recipe 采集算子与设备活动,把程序代码对应到实际执行。

先采集一段小程序的 CPU 活动,有对应设备后再加入 GPU 分析。

  • 英文
  • PyTorch
  • 性能分析
学习教程NVIDIA

Nsight Training

NVIDIA 的工具培训材料包含性能分析实验,适合跟着示例学习观察与定位。

先选择 CUDA 性能分析实验,按实验说明核对工具版本和设备。

  • 英文
  • Nsight
  • 动手实验
继续深入 4 份
官方文档docs.nvidia.com

Nsight Systems 用户指南

在掌握一次采集流程后,查阅 CPU、CUDA 与 GPU 时间线的详细分析方法。

先跟培训示例生成报告,遇到具体时间线或采集选项时查阅。

  • NVIDIA
  • 时间线
  • 系统分析
官方文档docs.nvidia.com

Nsight Compute 分析指南

用于查阅 GPU Kernel 的硬件指标,进一步分析计算、访存与执行效率。

能稳定测量单个算子后,再结合报告理解各项指标。

  • NVIDIA
  • Kernel
  • 硬件指标
开源项目google

Perfetto

系统执行轨迹的采集与分析工具,提供交互时间线和查询能力。

手头有兼容的 Trace 后,再用它查看事件并建立查询。

  • Trace
  • 可视化
  • 时间线
精选合集msaroufim

Awesome Profiling

按系统与语言整理性能工具,适合补充 CPU、Python 与 GPU 的分析手段。

确定要观察的现象后,再查相应工具,不必逐项安装。

  • Awesome
  • 性能工具
  • CPU/GPU
HARDWARE

硬件基础

遇到硬件概念时查阅执行与存储模型,再按需测量设备带宽。

从这里开始

学习教程modal.com

GPU Glossary

Modal 的 GPU 概念词典,用相互链接的短文连接线程、执行单元和存储层次。

遇到 Warp、SM 和内存层次等术语时按需阅读,无需 GPU。

  • 英文
  • GPU
  • 概念查阅
官方文档docs.nvidia.com

CUDA 编程模型导读

CUDA 官方指南先介绍编程模型,再解释 GPU 编程与进阶特性。

先读第一部分的 Programming Model,暂时跳过高级特性与完整 API。

  • 英文
  • GPU
  • 执行模型
继续深入 1 份
开源项目NVIDIA

nvbandwidth

测量 CPU 与 GPU 及 GPU 之间的带宽,用于建立设备数据传输的实验基线。

理解设备与互联关系后,再在匹配的 NVIDIA 环境中运行。

  • 带宽
  • PCIe
  • NVLink