update 15.3.1 GPU architecture
This commit is contained in:
parent
b54556e9e6
commit
baee9c0107
|
|
@ -10,14 +10,37 @@ GPU,就如名字所包含的内容,原本开发的目的是为了进行计算
|
|||
|
||||
## 15.3 GPU架构简介
|
||||
|
||||
(架构内容)
|
||||
### 15.3.1 为什么要使用GPU?
|
||||
(和CPU的区别 + 图示)
|
||||
### 15.3.2 CUDA 核心是什么?
|
||||
GPU,图形显示芯片作为不同于CPU的设计逻辑和应用场景,有着非常不同的架构,本部分将简单介绍GPU究竟是如何架构,其中的计算核心有哪些特性。
|
||||
|
||||
### 15.3.3 新图灵架构里的tensor core对深度学习有什么作用?
|
||||
### 15.3.1 如何通俗理解GPU的架构?
|
||||
|
||||
首先,下图简单地展示了几个GPU不同于CPU的特性:
|
||||
* 计算核心: 图中的CPU,i7-5960,Intel的第五代Broadwell架构,其中包括了8个CPU核心(支持16线程),也就是理论上可以有16个不同的运算同时进行。除了8个核心计算单元,大部分的芯片面积是被3级缓存,内存和控制电路占据了。同样的,来自Nvidia的GTX980GPU,在差不多的芯片面积上,大部分是计算单元,16个SM,也就是流处理单元,每个流处理单元中包含着128个CUDA计算核心,所以总共来说,有2048个GPU运算单元,相应地这颗GPU理论上可以在一个时钟周期内可以进行2048次单精度运算。
|
||||
|
||||

|
||||
|
||||
* 计算核心频率:时钟频率,代表每一秒中内能进行同步脉冲次数,也是从一个侧面反映一个计算元件的工作速度。下图中对比了个别早期产品,比如Intel的x5650和几款Nvidia的GPU。可以看出核心频率而言,CPU要远高于GPU。对于CPU而言,在不考虑能源消耗和制程工艺限制的情况下,追求更高的主频。但,在GPU的设计中,采用了多核心设计,即使是提高一些频率,其实对于总体性能影像不会特别大。当然,其中还有能耗方面的考虑,避免发热过高,也进行了权衡。还有一个可能的原因是,在一个流处理器中的每个核心(CUDA核心)的运行共享非常有限的缓存和寄存器,由于共享内存也是有性能极限的,所以即使每个GPU核心频率提高,如果被缓存等拖累也是无法展现出高性能的。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
* 内存架构:GPU的多层内存架构包括全局内存(也就是通常意义上大部分比较关注的内存,在若干到16GB之间,截至到当前最新),2级缓存,和芯片上的存储(包括寄存器,和1级缓存共用的共享内存,只读/纹理缓存和常量缓存)。通常来说,最高速的共享内存/缓存和寄存器都是非常有限的,比如在Tesla的K20中,只有48K的缓存可以作为共享内存或者1级缓存使用,所以在很多用GPU加速算法实现的过程中,有效地利用这些高速缓存是使得性能提升的非常重要的方面。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### 15.3.2 为什么要使用GPU?
|
||||
|
||||
哪些场景使用GPU
|
||||
|
||||
### 15.3.3 CUDA 核心是什么?
|
||||
|
||||
### 15.3.4 新图灵架构里的tensor core对深度学习有什么作用?
|
||||
|
||||
### 15.3.5 GPU内存架构和应用性能的联系?
|
||||
|
||||
### 15.3.4 GPU内存架构和应用性能的联系?
|
||||
|
||||
## 15.4 CUDA 框架
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue