Basic Facts about GPUs
a year ago
- #GPU Architecture
- #Roofline Model
- #Performance Optimization
- GPU的计算速度与内存带宽存在显著不平衡,例如NVIDIA A100的算力达19.5 TFLOPS但内存带宽仅1.5 TB/s
- GPU内存层级包括全局内存(显存)、共享内存(SRAM)和寄存器,各自具有不同的速度与用途
- 线程被组织为线程束(32线程)和线程块,运行在流式多处理器(SM)上
- 内核性能受限于内存带宽或计算吞吐量,分别对应内存瓶颈型与计算瓶颈型操作
- 算术强度(AI)是浮点运算次数与内存访问字节数的比值,决定内核属于内存瓶颈还是计算瓶颈
- 屋顶模型可视化性能极限,其转折点(如A100约13 FLOPs/Byte)划分内存瓶颈与计算瓶颈区域
- 优化策略包括算子融合减少内存流量,以及通过共享内存提升数据复用率
- 矩阵乘法可通过分块加载到共享内存,并采用协作线程策略来提高算术强度
- 内存访问模式需保持合并访问高效性,共享内存需避免存储体冲突
- 线程分支分化与占用率是影响性能的关键因素,高占用率有助于隐藏延迟
- 量化技术可通过降低内存占用和启用低精度运算来提升性能