今天看啥  ›  专栏  ›  zartbot

Tensor-003 TensorCore架构

zartbot  · 公众号  ·  · 2024-08-03 16:36
    

文章预览

时间回到2016年, Google发布TPU后(已经在内部使用了1年多), 同期NV发布的Pascal架构被虐成狗了. 而Volta这一代的架构规划是在2013年, 应该有可能是在2015年附近得到了TPU的消息整个架构进行了修改, 直到2017年才发布,添加的第一代TensorCore也很匆忙, 也有不少问题. TensorCore的演进如下: Arch Dtype TC per SM TC m,n,k 稀疏 访存 支持指令 Volta(SM70) FP16 8 4 x 4 x 4 No N/A mma Turing(SM75) FP16,INT8,INT4,Binary 8 4 x 4 x 4 No ldmatrix mma,ldmatrix Ampere(SM80) FP16,BF16,TF32,FP64,INT8,INT4,Binary 4 8 x 4 x 8 Yes async Copy mma,ldmatrix, mma.sp Hopper(SM90) FP16,BF16,TF32,FP64,INT8,Binary 4 16 x 8 x 4 Yes TMA mma,ldmatrix, mma.sp  ,wgmma 可以看到从最早的FMA指令, 到向量化的DP4A,再到Volta(SM70)的第一代TensorCore,然后Ampere/Hopper都在提高矩阵乘法的规模, 提高计算访存比,同时支持更低精度的数据格式. 时至今日的TensorCore在SIMT架构下依旧还有很多问 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览