DT Value|NVIDIA安培GPU:从TOP500走向云智应用( 四 )



DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

推理性能从结构化稀疏中获益颇多 , 而精度基本没有损失
追求AI性能的同时 , A100 Tensor Core也没有忽略HPC需要的高精度运算 , 支持IEEE FP64双精度加速 。 新的双精度矩阵乘加指令替代了V100的8条DFMA指令 , 降低了指令预取、调度开销、寄存器读、数据路径功耗和共享内存读带宽 。 使用Tensor Core , A100的每个SM每个时钟周期可以完成64个FP64 FMA(Fused Multiply-Add , 融合乘加)操作或128个FP64操作 , 是Tesla V100的两倍 。 结合SM数量的增长 , A100的峰值FP64性能达到V100的2.5倍(19.5 TFLOPS vs. 7.8 TFLOPS) 。
Big Data:大效之道 | 存储和传输
硬件升级提供更强的能力 , 软件算法和数据结构改进提供更高的效率 , 可谓基础设施换代的左右手 , 不可偏废 。 不仅第三代Tensor Core代表计算单元(SM)起到很好的示范作用 , A100的存储和传输单元也不遑多让 , 在容量全面扩充的同时 , 增加了大量新特性——简单的说 , 就是不仅更大、更快 , 还更聪明 。

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

让我们从A100的SM开始 , 一层层向外延展讨论 。
首先 , 每个SM的L1数据(L1D)Cache和共享内存(L1/SMEM)容量 , A100比V100增长了50% , 来到192KB;结合SM数量的增加 , 整个GPU的L1/SMEM容量增长近一倍 , 约为20MB——个人认为 , 这点很重要 , 马上会用到 。

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

同时 , 增加了异步复制(Async-Copy)指令 , 即从全局内存(GMEM)向共享内存的数据拷贝不经过计算单元的寄存器 , 直接进入L1或SMEM 。 不仅缩短了传输路径 , 有助于隐藏延迟;还可以充分利用L1/SMEM的带宽 , 减少对寄存器的浪费 。

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

异步复制:步骤精简 , 路径直接
其次 , A100的L2 Cache容量达到40MB , 是V100的6.7倍 , 带宽也有2.3倍 。 存储性能的提升通常比容量更难 , A100的做法是通过分层的Crossbar(XBAR)将L2 Cache分成两个分区 , 就近的SM们可以直接访问 , 所以延迟也得以降低 。

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

假设V100的SM数量增加到A100的水平……
当然 , 容量增加本身就有助于性能提升 。 经过这番暴涨 , A100的L2 Cache容量不仅超过了L1/SMEM , 甚至达到了两倍的水平(40MB vs. 约20MB) , 这就激发了另一个新功能——L2驻留控制(Residency Control) 。
如果说前面的L2 Cache分区访问是物理分区 , 那么L2驻留控制可以算一种逻辑分区:拿出一部分容量——譬如一半(20MB)——留给持久性数据访问 , 持久访问在L2缓存中比其他数据访问具有更高的驻留优先级;另外的区域留给正常访问 。

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

数据驻留L2 Cache的好处是内核内部和内核之间的数据访问不用再绕经全局内存 , 通过L2 Cache便可完成 , 避免非必要的传输 , 既可以缩短访问延迟 , 减小对内存带宽的需求;也有显著的节能效果 , 因为访问外部存储器所消耗的能量通常会增加一个数量级 。

DT Value|NVIDIA安培GPU:从TOP500走向云智应用
本文插图

随着内存/Cache层级的增加 , 访问数据的带宽明显降低 , 延迟和功耗成倍提高


推荐阅读