动手自制大模型推理框架(支持llama3.2):Cuda加速与量化实战
内容涵盖:CUDA开发环境配置与VSCode环境搭建,CUDA资源与显存内存管理,算子类设计开发,张量结构设计与实现,RMSNorm算子CUDA实现,Nsight Compute性能优化工具使用,模型量化与权重加载,CUDA向量化存取技术,mmap模型文件映射,算子层创建与权重载入,算子后端选择,矩阵乘法CPU/GPU实现、量化GEMV算子实现,KV Cache原理与手写实现,自注意力QKV计算逻辑,MLP层完整实现,LLama模型多头注意力CUDA实现,LLama系列全部算子CUDA落地开发,适配LLama3.2、Qwen3主流大模型,完整项目Demo串联与工程流程复盘
资源目录:
.
├── 视频
│ ├── 0 绪论-绪论-重录高清版.mkv
│ │ └── 0 绪论-绪论-重录高清版.mkv
│ ├── 1 环境配置-1-第一次课程.mkv
│ │ └── 1 环境配置-1-第一次课程.mkv
│ ├── 1 环境配置-2-第一节课程-附-vscode1.mkv
│ │ └── 1 环境配置-2-第一节课程-附-vscode1.mkv
│ ├── 1 环境配置-2-第一节课程-附-vscode2.mkv
│ │ └── 1 环境配置-2-第一节课程-附-vscode2.mkv
│ ├── 10 mmap映射模型文件.mkv
│ │ └── 10 mmap映射模型文件.mkv
│ ├── 11 算子层的创建和权重的载入.mkv
│ │ └── 11 算子层的创建和权重的载入.mkv
│ ├── 12 算子后端的选择.mkv
│ │ └── 12 算子后端的选择.mkv
│ ├── 13-14 矩阵乘法算子的cuda和cpu实现-cpu实现.mkv
│ │ └── 13-14 矩阵乘法算子的cuda和cpu实现-cpu实现.mkv
│ ├── 13-14 矩阵乘法算子的cuda和cpu实现-gpu实现.mkv
│ │ └── 13-14 矩阵乘法算子的cuda和cpu实现-gpu实现.mkv
│ ├── 13-14 矩阵乘法算子的cuda和cpu实现-量化gemv算子的实现.mp4
│ │ └── 13-14 矩阵乘法算子的cuda和cpu实现-量化gemv算子的实现.mp4
│ ├── 15 kvcache的原理与实现.mp4
│ │ └── 15 kvcache的原理与实现.mp4
│ ├── 16 KV Cache的实现和自注意力计算中的QKV.mp4
│ │ └── 16 KV Cache的实现和自注意力计算中的QKV.mp4
│ ├── 17 MLP层的实现-上.mp4
│ │ └── 17 MLP层的实现-上.mp4
│ ├── 17 MLP层的实现-下.mp4
│ │ └── 17 MLP层的实现-下.mp4
│ ├── 18 用Cuda实现LLama模型中多头注意力算子-正常版本
│ │ └── 18 用Cuda实现LLama模型中多头注意力算子-正常版本.sz
│ ├── 19 llama中其余算子的cuda实现 – llama模型中的其余算子实现
│ │ └── 19 llama中其余算子的cuda实现 – llama模型中的其余算子实现.sz
│ ├── 2 资源管理-重录后-内存的管理和设备类.mkv
│ │ └── 2 资源管理-重录后-内存的管理和设备类.mkv
│ ├── 20 llama3.2模型的支持
│ │ └── 20 llama3.2模型的支持.sz
│ ├── 21 课程demo和整体流程回顾.mp4
│ │ └── 21 课程demo和整体流程回顾.mp4
│ ├── 22 支持qwen3.mkv
│ │ └── 22 支持qwen3.mkv
│ ├── 3 算子类设计-重录后-算子类的设计.mkv
│ │ └── 3 算子类设计-重录后-算子类的设计.mkv
│ ├── 4 张量的设计与实现-重新录制后的第四章.mkv
│ │ └── 4 张量的设计与实现-重新录制后的第四章.mkv
│ ├── 5 rmsnorm的cuda实现-重置后的第五次课程
│ │ └── 5 rmsnorm的cuda实现-重置后的第五次课程.sz
│ ├── 6 nsight优化算子实现-Nsight compute的使用和算子的优化.mkv
│ │ └── 6 nsight优化算子实现-Nsight compute的使用和算子的优化.mkv
│ ├── 7 模型的量化-加载权重-重置后的第7次课程
│ │ └── 7 模型的量化-加载权重-重置后的第7次课程.sz
│ ├── 8 cuda的向量化存取-Cuda的向量化存取
│ │ └── 8 cuda的向量化存取-Cuda的向量化存取.sz
│ └── 9 显存的管理.mkv
│ └── 9 显存的管理.mkv
└── 课件
├── 7模型权重文件
│ └── tokenizer.model
│ └── tokenizer.model
├── c++ testmate配置
│ └── c++ testmate配置.html
├── vscode参考配置.zip
│ └── vscode参考配置.zip
├── 第10课-自制大模型推理框架-mmap映射模型文件
│ └── 第10课-自制大模型推理框架-mmap映射模型文件.html
├── 第11课-自制大模型推理框架-算子层的创建和权重的载入
│ └── 第11课-自制大模型推理框架-算子层的创建和权重的载入.html
├── 第12课-自制大模型推理框架-算子后端的选择
│ └── 第12课-自制大模型推理框架-算子后端的选择.html
├── 第13课-Sgemv算子的实现-cpu
│ └── 第13课-Sgemv算子的实现-cpu.html
├── 第13课-Sgemv算子的实现-cuda
│ └── 第13课-Sgemv算子的实现-cuda.html
├── 第15次课程-KVCache的原理和实现
│ └── 第15次课程-KVCache的原理和实现.html
├── 第16课-KV Cache的实现和自注意力计算中的QKV
│ └── 第16课-KV Cache的实现和自注意力计算中的QKV.html
├── 第17课-Llama模型中的MLP层实现
│ └── 第17课-Llama模型中的MLP层实现.html
├── 第18次课程-用Cuda实现LLama模型中多头注意力算子
│ └── 第18次课程-用Cuda实现LLama模型中多头注意力算子.html
├── 第19次课程-llama模型中的其余算子实现
│ └── 第19次课程-llama模型中的其余算子实现.html
├── 第1课-环境安装
│ └── 第1课-环境安装.html
├── 第20次课程-LLama3.2模型的支持
│ └── 第20次课程-LLama3.2模型的支持.html
├── 第21次课程-用课程大模型推理框架跑LLama3和Qwen2.5
│ └── 第21次课程-用课程大模型推理框架跑LLama3和Qwen2.5.html
├── 第22课-《cuda自制大模型推理框架》课程中支持qwen3
│ └── 第22课-《cuda自制大模型推理框架》课程中支持qwen3.html
├── 第2次课程-内存和设备的管理
│ └── 第2次课程-内存和设备的管理.html
├── 第3次课程-算子类的设计
│ └── 第3次课程-算子类的设计.html
├── 第4次课程-张量的设计与实现
│ └── 第4次课程-张量的设计与实现.html
├── 第5次课程-RMSNorm算子的CUDA实现
│ └── 第5次课程-RMSNorm算子的CUDA实现.html
├── 第6次课程-Nsight compute的使用和算子的优化
│ └── 第6次课程-Nsight compute的使用和算子的优化.html
├── 第7次课程-模型的量化
│ └── 第7次课程-模型的量化.html
├── 第8次课程-Cuda的向量化存取
│ └── 第8次课程-Cuda的向量化存取.html
├── 第9次课程-自制大模型推理框架-显存的管理
│ └── 第9次课程-自制大模型推理框架-显存的管理.html
└── 《自制大模型推理框架》课程目录-支持LLama3和Qwen3
└── 《自制大模型推理框架》课程目录-支持LLama3和Qwen3.html
PS:用户投稿 其中6个sz加密格式无法播放 不保证后期能更新 介意勿下

