0. Nvidia GPU概览
[*]1. 一些有用的信息
[*]1.1. 官方文档地址
[*]1.2. 名词解释
[*]2. Nvidia GPU 架构一览
[*]2.1. Volta架构细节
[*]2.2. Turing架构细节
1. 一些有用的信息
1.1. 官方文档地址
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html
https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html
1.2. 名词解释
物理单元:
[*]GPC 图形处理集群,其中拥有多个TPC
[*]TPC 纹理处理集群,其中拥有多个SM
[*]SM(streaming multiprocessor) 流式多处理器,它包含若干调度器(Warp)、计算核心、寄存器、L1Cache、内存传输等结构
[*]Warp 调度器,其拥有软件意义和物理意义,存在于SM中的每个处理块中。每个调度器支持32路(32SP)的SIMT。
[*]Core 包含浮点核心、整数核心、Tensor核心等。
Core与Thread(SP)并不是一一对应的
Warp实现的多Thread并行在物理上并非于一个cycle发出。Warp的32Thread于4个cycle全部发出。每个指令执行需要1个cycle,但具有4个cycle周期
[*]Tex Texture 纹理访问
[*]TensorCore 能通过简洁指令执行矩阵运算的核心
[*]LD/ST 加载和存储单元
[*]SFU (Special Function Unit)特殊函数计算单元,执行插值运算等特殊运算。
2. Nvidia GPU 架构一览
[*]Tesla (特斯拉) C语言变成+SIMT
[*]Fermi (费米)增强双精度浮点计算性能、L1 L2
Cache可配置、支持ECC内存增加原子操作性能,每个SM有32*core<br />
[*]Kepler
(开普勒)合并核心,统一GPU时钟,提升效能和可编程性,每个SMX中有192*core<br />
[*]Maxwell (麦克斯韦)平衡Fermi的高性能和Kepler的高效率<br />
[*]Pascal (帕斯卡)升级工艺、增加双精度运算单元<br />GPU
SM
[*]Volta
(福塔)每个SM中有4*ProcessBlock,特别突出的是每个ProcessBlock有独立的INT、FP32计算单元、TensorCore<br />GPU
SM
[*]Turing (图灵)去掉FP64支持,为每个SM增加一个RTCore光线追踪<br />GPU
SM
[*]Ampere (安培)
2.1. Volta架构细节
每个SM中有4个ProcessBlock,其中每个ProcessBlock的组成如下:
[*]1个 Warp Scheduler,1个 Dispatch Unit =》 一个时钟,一个调度器
[*]8 个 FP64 Core
[*]16 个 INT32 Core
[*]16 个 FP32 Core
[*]2 个 Tensor Core =》矩阵浮点运算,提升TFLOPS
[*]8个 LD/ST Unit =》装载or存储单元,同一时钟周期下只能执行装载or存储
[*]4个 SFU =》特殊函数执行器,如执行expf
2.2. Turing架构细节
[*]处理器(SM)体系结构
如前言所讲。Turing架构每个SM的每个Block都支持独立的执行INT和FP命令,能更高效的处理混合精度运算、提高core利用率。
以2080ti为例。
SMBlock / SML1(SharedMemory) 96KB / SMRT Core / SMTexture / SMWarp / BlockL0 64KB / BlockINT32 Core / BlockFP32 Core / Block4114111616
[*]可配置的L1缓存、SharedMemory
Turing将L1Cache、texture cache(纹理缓存)与SharedMemory的做成统一片
内存。他们的大小由运行时配置。这个配置如图所示。如此可增加访问效率,增加大内存留存率,提高内存命中率。
纹理缓存:外部链接 与光栅大小匹配的内存块
内存测试信息:外部链接
页:
[1]