第5集
名词解释
FLOPS – FLoating-point OPerations per Second
GFLOPS - One billion (109) FLOPS
TFLOPS – 1,000 GFLOPS
思路1:精简、减肥(拿掉CPU中繁杂的管理人员)
n个核同时执行n个程序片元
指令流共享,多个程序片元共享指令流(不共享的话就需要复杂控制机构,又有额外开销)
思路2:增加ALU, SIMD(数据向量操作)
128个程序片元同时执行,并发16路指令流
分支处理如何办?
由于共享指令流,需要一部分等待另一部分先执行
SIMD处理并不总是需要显式的SIMD指令
选项1:显示的向量运算指令
SSE等
选项2:标量指令,但是硬件进行矢量化
硬件进行指令流共享
NVIDIA等架构
多个片元共享指令流
思路3:应对停滞stalls
大量的独立片元相互切换,通过片元切换来掩藏延迟(分配给ALU很多任务,任务一需要等待时就进行任务二)
上下文存储池
18个小的上下文:好的延迟掩藏效果
12个中等大小的上下文
4个大的上下文:延迟掩藏效果较差
上下文切换可以软件也可以硬件管理!
带宽是非常宝贵的资源!
访存很慢 乘加计算很快
减少带宽需求:
减少数据请求
减少数据请求频率(把多个小数据攒到一起进行)