CUDA编程
- GPU的架构
- 每个GPU由N个SM组成,1个SM分为2个SMP,1个SMP有16个DPUnit和32个CudaCore以及一些特殊函数处理模块
- 比如说, RTX 2080Ti,具有68个SM,总共有 68 x 64 个CudaCore
- SM全称(Streaming Multiprocessor)
- WarpSize一般为32(这个大部分都这个数)
- 最小调度单位,也就是最小调度单位是一个SMP
- 如果启动线程数小于32,他依旧启动32线程,仅仅是其他线程处于非激活状态deactive
- 内存,分为GlobalMemory、SharedMemory、缓存、寄存器等
- 理解内存的排布,是优化编程的基础
- 距离Core越近的内存,速度越快
- 架构名称
- 不同的架构,具有不同的显卡硬件设置,比如说游戏级更注重渲染,工业级更注重科学计算或者是长期运行(所以散热等更注重)。
- 比如说,工业级,会增加例如TensorCore、DLA、FP16、INT8、INT4等NN的支持。而这些,游戏级别大部分没有
- 架构一般有:图灵(Turing、游戏级)、帕斯