作为一个7年的GPU开发者,随着加速算法应用的普及以及应用GPU设备的增多,各种设备结构(比如Kepler  Maxwell Pascal)和GPU系列混入脑中,经常记不住,希望用这篇博客记录下各个设备架构的特性和最新功能,当然这并不是包含所有的GPU设备,只是笔者经常接触到的或者买不起的又想用的(终究是贫穷)。

目录

一、GPU设备架构和系列产品

二、几个卡相关对比(总览)

三、K80计算卡架构及特性

四、P100计算卡架构及特性

五、V100计算卡架构及特性

六、A100计算卡架构及特性



一、GPU设备架构和系列产品

设备架构

架构 Tesla Fermi Kepler Maxcell Pascall Volta Turing
GPU时代 1.0 2.0 3.0 5.0 6.0 7.0 7.5
时间 2008 2010 2012 2014 2016 2017 2018

其中Tesla既是架构又是英伟达系列产品中的一个,比如Tesla K20 Teska K40 Tesla K80,所有架构可谓是一代更比一代强,

系列产品:英伟达GPU产品根据应用场景主要分了3个产品系列:GeForce系列(桌面电脑应用)、Tesla系列(专业计算,数据中心)和Quadro系列(专用一体机);

详细可参考官方文档配图:

图:GPU计算应用(GPU被设计成为支持不同语言和应用程序的接口)- (From  Pascal-architecture-white-paper)

二、几个卡相关对比(总览)

下表是几个常用卡参数对比:

Name K80 P100 V100 RTX2080Ti
架构 Kepler Pascal Volta Turing
GPU GK110 GP100 GV100 TU102
计算能力 3.7 6.0 7.0 7.5
内存接口 GDDR5 HBM2 HBM2
显存 11520M  16265M 16225M 11264M 
GPU最大时钟频率 0.82GHz  1.33GHz 1.38GHz 1.545GHz
L2缓存 1536KB 4096KB 6144KB
常量内存 64KB  64KB 64KB 64KB
SM 数量 13 56 80 68
SM内Cores数量 2496(192) 3584(64) 5120(64) 4352(64)
共享内存 Per Block 48KB 48KB 48KB 64KB
共享内存Per      SM  112KB  64KB  96KB 
SM最大线程 2048 2048 2048 2048
Block最大线程 1024 1024 1024 1024
Copy Engines 2个 2个2 7个

注意:每个设备最大驻留Grids数量即是CUDA并发kernel执行的数量

图来自CUDA_C_Progrmming_Guide.pdf

其中对一些参数做部分说明:

Maximum number of threads per block: 每个Block内最大线程数量为1024(这个参数所有架构下都一样,到目前

Warp Size: 线程束数量为32

Maximum number of resident blocks per multiprecessor : 每个SM下最大驻留的线程块数量(3.7及以前是16个,5.0开始是32个

Maximum number of resident threass per multiprecessor:每个SM下最大驻留的线程数量.都是2048个

Maximum number of resident warps per multiprecessor:每个SM下最大驻留的Warp数量(都是64),因为最大驻留线程数2048/32 =64

Number of 32-bit registers per multiprocessor:每个SM下32寄存器的数量:基本都是64K,只有3.7是128K

Number of shared memory banks:共享内存最大Bank数, 均为32个

Amount  of  local memory per thread:每个线程的最大局部内存,均为512KB(局部内存实际存在于Global memory)

Constant memory size:常量内存,均是64KB

Maximum amount of shared memory per thread Block: 每个线程块拥有的最大共享内存是48KB(除了7.0是最大可设置为96KB)

Maximum number of 32-bit registers per thread: 每个线程拥有的最大寄存器数量,3.0是63个,3.0之后都是255个

三、K80计算卡架构及特性

四、P100计算卡架构及特性

FMA: Fused Multiply-Add  (参考nvidia docs: Floating Point and IEEE 754 :: CUDA Toolkit Documentationhttps://docs.nvidia.com/cuda/floating-point/index.html#fused-multiply-add-fma)

GPU一般一个时钟周期可以操作64bit的数据,1个核心实现1个FMA。
这个GPU的计算能力的单元是:64bit*1FMA*2M/A/64bit=2FLOPs/Cycle

The FMA operation computes rn(X×Y+Z) with only one rounding step

浮点数计算能力公式:

理论峰值 = GPU芯片数量 * GPU Boost主频 * FP32 cores * 单个时钟周期内能处理的浮点计算次数

P100理论峰值 = 1* 1.48GHz * 3584 * 2 = 10.608 TFLOPS

双精度(FP64)计算能力 5.3 TFLOPS)

单精度(FP32)计算能力 10.6 TFLOPS)

半精度(FP16)计算能力 21.2 TFLOPS)

GP100架构核心内建3840个CUDA核心、240个纹理单元、最高32GB HBM2显存、位宽4096bit,L2缓存也从3MB提升到了4MB,据Nvidia官方所说,Nvidia Tesla P100采用的则是“阉割版”的GP100,因此只采用了3584个CUDA核心,而且显存也缩水成了16GB HBM2显存。

GP100架构新特性:

1)Extreme performance(For HPC, DeepLearning,MoreComptuting Areas)

2)  NVLink技术(高速高带宽连接)

3) HBM2(快速高容量CoWos Chip-on-Wafer-on-Substrate stacked memory architecture)

4) Unified Memory ,Compute Preemption,and New AI Algorithms

5)16nm FinFET(支持更多的功能、更高的性能和更高的功率效率)

如图:

(From  Pascal-architecture-white-paper)

GP100 GPU 的60个SM (P100 只拥有阉割版的56个SM) (From  Pascal-architecture-white-paper)

同之前的Tesla系列产品一样,GP100由多个GPU处理集群(GPCs :Graphics  Processing Clusters)、纹理处理集群(TPCs:Texture Processing Clusters)、流多处理器(SMs:Streaming  Multiprocessors )以及内存控制器(Memory controllers )组成.

如图,一个完整的GP100GPU包含6个GPC(每个GPC包含10个SM),30个TPC(每个TPC包含两个SM), 60个SM, 8个512位的内存控制器(共4096bits)

Pascal GP100 SM Unit  (From  Pascal-architecture-white-paper)   DP Units(Double Precision Units)

GP100 SM 被分为两个处理块(图中左右两部分),每个块都有16个FP64 CUDA Cores(图中黄色块)32个FP32 CUDA Cores(图中绿色块),一个指令缓冲区 Instuction Buffer,一个warp调度器 Warp Scheduler和两个分派器单位 Dispatch Unit, 以及一些寄存器,Texture, L1 Cache ,和Shared Memory;(一个完整GP100含有1920个FP64 )

五、V100计算卡架构及特性

新特性:

1)专为深度学习优化的全新流多处理器(SM)架构(Tensor cores

2)第二代 NVIDIA NVLink (能够提供更高带宽与更多链路,GV100 最多支持六条NVLink链路,总带宽为300GB/s , 而GP100 只支持四条NVLink链路)

3)HBM2内存:高速、高效

4)Volta 多进程服务MPS(volta架构新功能,为共享GPU的多个计算应用提高性能实现隔离兵改进服务质量)

5)统一内存寻址和地址转换服务质量提升(GV100统一内存寻址技术包含新的存取计数器)

6)协作组合新的协作启动API

7)针对Volta优化的软件(Volta优化版的GPU加速库 如cuDNN cuBLAS TensorRT)

(Tesla V100 中的新技术)

双精度(FP64)计算能力 7.8 TFLOPS)(比P100提升一大截啊)

单精度(FP32)计算能力 15.7TFLOPS)

Tensor  125 TFLOPS

图:包含84个SM的完整Volta GV100  GPU   (V100 只是阉割版的80个SM)

同之前的Tesla系列产品一样,GV100由多个GPU处理集群(GPCs :Graphics  Processing Clusters)、纹理处理集群(TPCs:Texture Processing Clusters)、流多处理器(SMs:Streaming  Multiprocessors )以及内存控制器(Memory controllers )组成.

如图,一个完整的GV100GPU包含6个GPC(每个GPC包含14个SM, 7个TPC),42个TPC(每个TPC包含两个SM)

 84个SM, 每个SM拥有64个FP32 核心、64个INT32核心、32个FP64核心、8个Tensor核心、4个纹理单元

8个512位的内存控制器(共4096bits)

图: Volta GV100流多处理器(SM)

每个SM分为四个处理块,每个处理块拥有16个FP32 核心、16个INT32核心、8个FP64核心、2个Tensor核心、一个L0指令缓存、一个线程束调度器、一个分配单元、一个64KB的寄存器文件;

GV100 中共享内存和L1资源的合并使每个Volta SM 的共享内存容量增加至96KB, 而GP100仅有64 KB的共享内存。

Tensor Core 恐怖之处:V100GPU含有640个 Tensor Cores ,每个Tensor Core每个时钟执行64次浮点FMA运算,一个SM中的8个Tensor Core每时钟总共执行512次FMA运算,毕竟Tensor Core可为训练和推理应用提供高达125Tensor  TFLOPS ;

六、A100计算卡架构及特性

GPU设备架构全面解析(持续更新ing)相关推荐

  1. 重拾CCNA,学习笔记持续更新ing......(4)

    重拾CCNA,学习笔记持续更新ing......(4) 路由器作用功能的经典解说(笑)(非原创) 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大 ...

  2. js中text方法是啥意识_一盏茶的时间,快速捕获JS中常用的方法(细心整理,持续更新ing)...

    不知不觉上班一周辽-趁着大好周末,小编挣扎着从床上爬起来,决定对前端日常编程中常用到的一些方法做一个系统的整合. 有些人或许会觉得忘了百度就完事儿,no no no!这事儿小编真的亲践过好多次,百度一 ...

  3. 程序员的职业选择,你应该知道的,持续更新ing

    程序员的职业选择,你应该知道的,持续更新ing 一下内容只是个人认知的表达,仅供参考,互相交流,不喜勿喷 程序员的职业选择,你应该知道的,持续更新ing 我认识很多猎头,有些曾经是经验丰富的HR,以下 ...

  4. PyCharm使用期间出现报错集合 持续更新ing

    PyCharm使用期间出现报错集合 持续更新ing 啥时候用PyCharm发现了奇奇怪怪的错误就整理上来 这几天帮同学安装torch的时候出现了一些奇奇怪怪的问题 1.torch始终安装失败 描述一下 ...

  5. 开源小程序CMS网站,JeeWx-App-CMS 持续更新ing~

    JeeWx-App-CMS开源小程序CMS网站,持续更新ing~  JeeWx-App-CMS 是jeewx开发的小程序网站开源项目,基于小程序wepy语言,具备cms网站的基本功能,能够打造简单易用 ...

  6. 2023届秋招提前批信息汇总(持续更新ing)

    实时更新的文档:2023届秋招提前批信息汇总(持续更新ing) (qq.com) 公司 投递链接 面试网站 工作地点 截止时间 互联网及私企(软件) 网易游戏 网易游戏(互娱)校园招聘官网 https ...

  7. TS 常见问题整理(60多个,持续更新ing)

    TS 常见问题整理(60多个,持续更新ing) https://cloud.tencent.com/developer/article/1593335

  8. 自然语言处理数据集集锦(持续更新ing...)

    诸神缄默不语-个人CSDN博文目录 最近更新时间:2023.6.27 最早更新时间:2023.4.25 文本摘要主题的数据集见我之前写的另一篇博文:文本摘要数据集的整理.总结及介绍(持续更新ing-) ...

  9. ios快捷指令 python_精选 iOS快捷指令 | 持续更新ing

    收好这几款iOS「快捷指令」帮你少下10款app 精选 iOS快捷指令 | 持续更新ing P.S.在 iOS 12.1.4 系统更新之后,苹果已经将 Shortcuts 的译名从「捷径」更换为「快捷 ...

  10. Python3常用其他API速查手册(持续更新ing...)

    诸神缄默不语-个人CSDN博文目录 最近更新时间:2023.5.11 最早更新时间:2022.6.27 运算符 + - * / 取余% 开方** 等式:= == > < >= < ...

最新文章

  1. 干货整理!10个Python图像处理工具,入门必看,提效大法
  2. 英特尔近日发布最新版实感™ SDK R5 (v7)
  3. c++学习笔记之运算符重载
  4. Eclipse代码自动补全的颜色修改
  5. poj 2528_2
  6. C++基础::mutable 关键字
  7. 自学python能找到工作吗-自学Python好找工作吗?
  8. 使用ORL人脸库,通过GRNN网络和HOG特征提取的人脸识别算法matlab仿真
  9. VC++运行库安装难题
  10. Qt 字符编码转换(UTF-8 转换为 GBK)
  11. 运营商线路细分_国内三大运营商宽带线路及分级介绍
  12. 怎么把PDF图片转换成PPT
  13. 春运正当时 古代人们又是靠什么出行的呢?
  14. 软测—直播教学 黑盒测试
  15. 瀚高CEO苗健:用开源软件改变中国基础软件产业格局
  16. cas:27025-41-8 Glutathione oxidized氧化型谷胱甘肽 活性氧抑制剂
  17. 解析电子墨水屏技术(工作原理与LCD的区别)【转】
  18. ffmpeg基础三:H264,从MP4文件获取(av_bsf_get_by_name(“h264_mp4toannexb“))和从TS流获取保存H264
  19. 多模态理论张德禄_学术会议 | 适用语言学与多模态国际会议
  20. ffmpeg各种操作处理

热门文章

  1. 如何运行python 复制粘贴_Python执行选择性粘贴
  2. win10 linux重置密码,Win10重置Linux子系统用户密码教程
  3. eclipse debug 多线程
  4. Day-3 文字排版
  5. commonAncestor
  6. Hexo+Github免费搭建个人博客+美化详细教程
  7. 读取任意编码的文件(转)
  8. Alien Worlds NFT 自动点击游戏教程 (Allen worlds NFT auto click game tutorial)
  9. Visio 连线 取消自动附着,取消自动捕捉
  10. Go 微服务开发框架 DMicro 的设计思路