AI Infra 面经
1. CUDA 基础 1.1 CUDA 存储体系结构及存储的优缺点 CUDA的存储体系结构包括全局内存(Global Memory)、共享内存(Shared Memory)、常量内存(Constant Memory)/ 纹理内存(Texture Memory)和本地内存(Local Memory)。 全局内存(Global Memory) GPU中最大的内存(即 HBM 内...
1. CUDA 基础 1.1 CUDA 存储体系结构及存储的优缺点 CUDA的存储体系结构包括全局内存(Global Memory)、共享内存(Shared Memory)、常量内存(Constant Memory)/ 纹理内存(Texture Memory)和本地内存(Local Memory)。 全局内存(Global Memory) GPU中最大的内存(即 HBM 内...
本系列文章重点阐述了各类算子的逐步优化过程,涵盖 CUDA 常用算子,并对不同算子的性能瓶颈进行分析。各类算子完整代码请参考个人仓库 OpenKernels。 Element-wise 算子运算时没有数据之间的依赖关系,且运算比较简单,瓶颈在访存上。优化手段一般为:(1)向量化;(2)数学近似。下面以 ReLU 和 GELU 算子为例,展示逐步优化的过程。 1.ReLU 1.1 Naiv...
1. CUDA 编程结构 GPU 编程通常是异构环境(多个CPU,GPU),CPU 和 GPU 通过 PCIe 总线相互通信,也是通过 PCIe 总线分隔开的。所以,我们需要区分CPU及其内存 和 GPU及其内存。 注意,目前不考虑统一寻址,调试程序在编写时,内存调度采用在 CPU(Host)和 GPU(Device)来回 copy 的方法。 一种完整的 CUDA 应用可能的执行顺序...