第四章GPU体系架构概述
1.FLOPS:每秒可进行的浮点数运算
GFLOPS:每秒可进行的十亿浮点数运算
TFLOPS:每秒可进行调度一万亿次浮点数运算
2.GPU是一个 异构的多处理器芯片,为图形图像处理优化
ShaderCore:渲染器,最基本的ALU计算单元,分派器等
3.执行单元:取址译码,ALU,上下文执行单元
附加:缓存区,乱序控制逻辑,分支预测器,存储器管理单元
优化①:精简:把很复杂的CPU精简,只留下最核心的部分
优化②:双核,同时执行两个程序片元 甚至四核,十六核 要求多个程序片元指令流共享
增加ALU,SIMD 一个核可以处理多个数据,执行向量操作,但是指令的执行逻辑不需要变化
SIMD处理并不总是需要显式的SIMD指令,还可以提供标量指令,硬件进行矢量化
优化③:停滞:大量的独立片元相互切换,通过片元切换来掩藏延迟 来获得较高的吞吐
上下文存储空间:可以把大的存储空间转化为小的存储空间,有好的延迟掩藏效果
但是也可以编程稍微大一点的存储空间 但是上下文切换比较少,但是延迟掩藏效果
上下文切换也是可以由软件管理也是可以由硬件管理
4.访存带宽是非常重要的资源 GPU总线带宽是非常宽的,
很多超级计算的应用大量时间都是在访存,就是带宽受限
减少带宽需求:减少不必要的数据请求,
GPU:主存带宽很大 GPU是异构 众核 处理器 针对吞吐优化
高效的GPU任务具备的条件
具有成千上万的独立工作
尽量利用大量的ALU单元
大量的片元切换掩藏延迟
可以共享指令流
适用于SIMD处理
最好是计算密集的任务
通信和计算开销比例合适
不要受制于访存带宽