Skip to content

Mini-Inference EngineCUDA GEMM 优化教程与迷你推理引擎

从朴素实现到 ~85% cuBLAS 性能的 7 级渐进式优化路线

性能一览

Performance vs cuBLAS (RTX 3080, 1024×1024)
L1 Naive
10%
L2 Tiled
20%
L3 Coalesced
25%
L4 Double Buffer
40%
L5 Register Blocked
85%
L6 Fused
80%
L7 Vectorized
85%
cuBLAS = 100% baseline

快速开始

环境要求
  • CUDA Toolkit 12.x
  • CMake 3.18+
  • C++17 兼容编译器
  • NVIDIA GPU (计算能力 7.0+)
bash
git clone https://github.com/LessUp/mini-inference-engine.git
cd mini-inference-engine
cmake --preset release
cmake --build --preset release
./build-release/benchmark
💡 设计理念
本项目采用渐进式教学方法,每一级优化都建立在前一级的基础上,让您能够清晰地理解每个优化技术带来的性能提升及其背后的原理。从最基础的朴素实现开始,逐步引入共享内存、内存合并、双缓冲、寄存器分块、算子融合、向量化加载等技术,最终达到接近 cuBLAS 的性能水平。

MIT License | CUDA GEMM optimization tutorial