图片来源:互联网
2019年推出的安培架构整体上与费米架构保持一致 。
NVIDIA Ampere架构中的SM内部框架

图片来源:互联网
在NVIDIA Ampere架构的SM内部框架中,ALU被划分为更精细的位,INT32是32位整数,FP32是32位浮点,FP64是64位浮点 。专门针对矩阵运算,有张量核 。
实际CPU和GPU最大的区别就是带宽 。CPU就像法拉利,跑得很快,但是拉货的话,还不如重卡 。GPU就像一辆重型卡车,跑不快,但一次拉的货多 。有些货物可以打包装运 。如果所有的货物都来自一个地方,并且大小相同,就需要运输到一个地方 。这是一项计算密集型任务 。有些货做不到 。比如这些货要去的地方不一样,大小也不一样 。它们不能多重包装,只能多次运输 。这是一项控制密集型任务 。CPU在缓存、分支预测和乱序执行上花了很多精力 。这些功能用大量寄存器实现,保证了高速 。一般频率比GPU高很多,每次速度都很快,但是大量的寄存器占用了大量的空 。考虑到成本和半导体的基本规律(单个管芯的面积小于800平方毫米,否则良率会迅速下降),CPU核的数量非常有限,每次都可以带 。相反,GPU不考虑分支预测和乱序执行,用最快的寄存器代替缓存 。结构简单,晶体管少,可以轻松做到上千核,一次货很多,但是速度不快 。
深度学习或者人工智能是一个计算密集型的任务,数据一般会占用一大块连续内存空 。GPU可以提供最好的内存带宽,线程并行带来的延迟影响不大 。另外,一般来说,GPU的并行计算架构离执行单元越近(指CPU的核心或者GPU的流处理器),访问速度越快,其中寄存器和L1缓存离CPU最近 。GPU的优势在于GPU为每个处理单元(流处理器或SM)配备了一些寄存器,而GPU上百个处理单元使得寄存器总数非常大(是CPU 14MB的30倍),速度达到80 TB/s..相比之下,CPU的寄存器大小通常为64-128KB,运行速度为10-20 TB/s..当然上面的比较在数值上不会很准确,CPU寄存器和GPU寄存器也不一样 。大小和速度的不同是主要的关键点 。最后,GPU的优势在于大量的快速寄存器和L1缓存易于编程,这使得GPU非常适合深度学习 。
NVIDIA Volta V100 GPU的存储架构图

图片来源:互联网
从上图可以看出,每个处理块都有一个高达64KiB的寄存器,而且寄存器最快 。只要一个周期,仍然需要通过总线访问缓存或SRAM,这远远少于寄存器 。
早期的GPU
早期的GPU和现在的GPGPU差别不小 。早期的GPU主要是生成和渲染图形 。第一步是画三角形 。三角形光栅化器必须一次处理很多事情:跟踪三角形的形状,插值坐标U和V(对于透视校正映射,它是u/z,v/z和1/z),执行Z缓冲区测试(对于透视校正映射,可以使用1)这些都是浮点操作 。早期的CPU都是针对整数运算的,有的CPU浮点运算量很小,处理低像素还不错 。随着像素越来越多,GPU出现了 。
GPU的图形处理逻辑流水线

图片来源:互联网
图形逻辑管道通常称为渲染管道,渲染管道是在显存中打开的 。在CPU注入网格,材质,贴图,着色器等之后 。进入显存,GPU开始渲染流水线 。渲染流水线分为几何阶段和光栅化阶段(也叫像素阶段),最后将运算结果送到显示器的缓冲区 。几何阶段分为->顶点着色器;曲面细分着色器(DirectX11和OpenGL4.x以上可编程)->;几何着色器->;切割->;屏幕映射的五个步骤 。ROP阶段分为->三角形设置;三角形遍历->;芯片着色器->;逐细胞操作的四个步骤 。渲染流水线和CPU指令流水线的侧重点不同 。它实际上不是一个流水线,同一个draw调用在不同的阶段运行(draw call指令是CPU发出的),但是一个Draw调用中先提交的数据(Draw Call进入下一个流水线阶段,而不等待它之后的数据 。
推荐阅读
- X-NV属于哪个汽车
- 汽车空调加热需要注意什么
- 蔚来es6续航里程多长
- 国机汽车重组最新消息
- 共享汽车要注意哪些东西
- 电脑显示屏分辨率调不了解决方法 分辨率调不了是怎么回事
- 冬天汽车怎么启动最好
- 冬天汽车多久不开最好
- 48V轻混系统什么意思
- 汽车的纵梁有什么用
