从零学大语言模型 L6:Kernels, Triton | 斯坦福 CS336 2025 春季
视频讲解了如何编写高性能GPU代码,涵盖了GPU架构回顾、基准测试和性能分析的重要性。通过编写CUDA和Triton内核实现内核融合,优化了gelu和softmax等操作。演示了如何通过手动编写CUDA内核将gelu的速度从8.1毫秒降至1.8毫秒,而Triton内核以更简洁的Python语法达到相近性能。最后比较了torch.compile自动优化的效果,显示其能自动融合操作并接近手写内核的性能。 关键信息:GPU执行模型(线程块、warp)、内存层次(寄存器、共享内存、DRAM)、算术强度;使用PyTorch profiler和NVIDIA Nsight Systems进行性能分析;编写CUDA和Triton内核实现融合操作;torch.compile的自动优化能力;softmax内核设计(每行一个线程块)。 课件与代码: https://cs336.stanford.edu/spring2025/