Skip to content

论文引用

本页面列出了影响 TensorCraft-HPC 设计和实现的学术论文和开源项目。我们鼓励用户阅读原始论文以获得更深入的理解。

GEMM 优化

基础论文

CUTLASS Team (NVIDIA)CUTLASS: CUDA Templates for Linear Algebra Subroutines
https://github.com/NVIDIA/cutlass

Tensor Core 编程模式的主要参考。TensorCraft-HPC 的 GEMM 实现遵循 CUTLASS 的分块和流水线策略。

NVIDIAcuBLAS 文档
https://docs.nvidia.com/cuda/cublas/

性能比较的基准。所有 GEMM 基准测试报告相对于 cuBLAS 的性能。

Tensor Core 编程

NVIDIATensor Core 编程指南
CUDA C++ 编程指南

理解 WMMA (Warp Matrix Multiply-Accumulate) 操作的必读材料。


Attention 机制

FlashAttention

Tri Dao, Daniel Y. Fu, et al.FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness
NeurIPS 2022
arXiv:2205.14135 | GitHub

内存高效注意力机制的基础论文。TensorCraft-HPC 实现了论文中描述的分块策略。

Tri DaoFlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning
ICLR 2024
arXiv:2307.08691

注意力计算的改进并行策略。

RoPE (旋转位置编码)

苏剑林等RoFormer: Enhanced Transformer with Rotary Position Embedding
arXiv:2104.09864

归一化

Jimmy Lei Ba, Jamie Ryan Kiros, Geoffrey E. HintonLayer Normalization
arXiv:1607.06450
Biao Zhang, Rico SennrichRoot Mean Square Layer Normalization
NeurIPS 2019
arXiv:1911.12247

RMSNorm 是 LLaMA 和许多现代大语言模型使用的归一化层。


量化

NVIDIAFP8 Formats for Deep Learning
arXiv:2209.05433

定义 Hopper 架构中使用的 E4M3 和 E5M2 FP8 格式的论文。

NVIDIAFP8 Training with NVIDIA Hopper
Transformer Engine 文档

稀疏操作

NVIDIAcuSPARSE 文档
https://docs.nvidia.com/cuda/cusparse/
NVIDIA2:4 结构化稀疏
CUDA 编程指南

Ampere 架构支持 2:4 结构化稀疏,可提供 2 倍吞吐量提升。


相关项目

项目描述许可证
CUTLASSCUDA 线性代数模板BSD-3
FlashAttention内存高效注意力BSD-3
xFormersFacebook 注意力内核BSD-3
TritonOpenAI GPU 编程语言MIT
cuDNNNVIDIA 深度学习库私有

引用 TensorCraft-HPC

如果您在研究或教学材料中使用 TensorCraft-HPC,请引用:

bibtex
@software{tensorcraft-hpc,
  title = {TensorCraft-HPC: Demystifying High-Performance AI Kernels
           with Modern C++ and CUDA},
  author = {LessUp},
  year = {2024},
  url = {https://github.com/LessUp/modern-ai-kernels},
  note = {Header-only C++/CUDA kernel library for learning}
}

Released under the Apache 2.0 License.