CUDA on Platform 学习笔记1--GPU硬件架构

CUDA参考学习资料:
  1. CUDA编程-基础与实践 樊哲勇
  2. https://github.com/brucefan1983/CUDA-Programming
  3. CUDA Best Practice Guide , NVIDIA Corp.
  4. CUDA C Programming Guide, NVIDIA Corp.
1.CPU内核组成

在这里插入图片描述

  • Fetch/Decode:取指令、译码单元
  • ALU: 逻辑运算器(Arithmetic Logic Unit)
  • Execution Context: 执行上下文池
  • Data cache:数据缓存
  • 流水线优化单元:如乱序执行、分支断定预测、memory预存取等。

CPU瓶颈
以前,芯片的更新遵循摩尔定律:芯片的集成密度每2年翻一番,成本下降一半,但现在同样面积下芯片的数量越来越多,芯片的能量密度越来越高,散热问题越来越严重;而且芯片运算效率越高,需要读取的数据量越多,要求存储设备的读写速度越来越快,很难要求,传统的单核处理器遇到上述等物理约束, 时钟频率(perf/clock)无法保持线性增长。

2.GPU内核组成

由于上述CPU的多种瓶颈,只能向多核并行系统发展,因而产生GPU(Graphics Processing Unit)。由于GPU只执行简单任务,因此,可以将上述复杂的流水线去掉,进行精简优化 ,得到GPU的内核组成如下,这样在执行单一指令流时候可以更快。
在这里插入图片描述
GPU更关注计算,因此通过将多核组合在一起来增加ALU部分核数,而多核之间需要通信,因此增加了shared memory部分,CUDA核结构图如下:
在这里插入图片描述
上图中每个黄色小方块代表一个CUDA core,也叫Streaming Processor(SP),它在每个时钟周期执行一次乘加指令。
CPU和GPU芯片结构对比如下:
在这里插入图片描述
GPU将更多的空间分配给CUDA core,以空间换时间,提高并行度,加速计算。

3.GPU组成示例

下面是一个GA 100的结构图,由多个Streaming Multiprocessor (SM)组成。
在这里插入图片描述
每个SM的架构如下:
在这里插入图片描述

  • 一个GPU中有128个SM,8个GPC,每个GPC有8个TPC,每个TPC有2个SM,因此,每个GPC中有16个SM。
  • 每个SM中有64个FP32的CUDA core,一个GPU中有8192个FP32 CUDA core
  • 每个SM中有4个3代Tensor Core,一个GPU中有512个3代Tensor Core。
  • 6个HBM2(HBM 是 GDDR 存储器的替代品,可用于 GPU 和加速器,HBM2 是目前该类别中最常用的标准,支持高达 2.4Gbps 的数据速率),12个512-bit的memory 控制器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CV温故知新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值