GPU - 硬件架构

  1. GPU 架构(microarchitecture), 表示GPU在芯片设计层面上的不同处理方式,包括的内容有计算单元(SIMD)的个数、有无L1,L2缓存、是否有双精度支持等。按时间顺序依次是Tesla, Fermi, Kepler, Maxwell, Pascal, Volta。
  2. 显卡系列:根据使用场景的不同,分成GeForce, Quadro, Tesla。
    • GeForce用于家庭和个人电脑,包括游戏和娱乐等;
    • Quadro用于工业渲染、艺术设计,工作站等场合。
    • Tesla用于科学计算,深度学习加速等场景。当然这三者的使用场景并没有严格的边界,想GeForce 系列的GTX 1080也可以用来做深度学习实验。
  3. 芯片型号,例如GT200、GK210、GM104、GF104, K80, M40等。其中第二个字母表示架构,如K40 中的K表示是Kepler架构,P100中的P表示Pascal架构。
  4. 针对GeForce系列,还有2系列,3系列,200系列,400系列等分类,像GeForce GTX 1080 就是10系列。

疑问:
为什么GPU的升级是按架构的。CPU的升级也是按架构升级的,还是多架构同时迭代更新?

注意区分

  • Tesla GPU架构和Tesla系列。前者已经用的不是很多了,而后者是最近才出的针对深度学习的系列,使用很多,像我们实验室用的K20,K80都是这个系列。
  • 最近新出了一款 TiTan X, 主要要和GeForce GTX Tian X 区分

参考 https://vra.github.io/2016/12/18/nvidia-gpu-names/

GPU架构细节

CPU和GPU的浮点数计算能力差距较大,是因为GPU是专门为密集型计算、并行计算设计的,常用于图形渲染。GPU的设计架构会把更多的晶体管用于数据处理,而不是数据缓存和控制流。

GPU会将数据映射到多线程并行处理。

the memory access latency can be hidden with calculations instead of big data caches.

FAQ

CPU为什么需要这么多cache和control?

GPU不用cache,数据读写比较慢吧?是不涉及到频繁用cache?不需要对一些数据复用吗?

GPU的绿色点都是ALU?边上的黄色和红色是control和cache?