GPU与内存之间的数据传输通过PCI-E总线进行传输。
PCI Express 版本 | 行代码 | 传输速率 | 吞吐量 | |||
×1 | ×4 | ×8 | ×16 | |||
1.0 | 8b/10b | 2.5GT/s | 250MB/s | 1GB/s | 2GB/s | 4GB/s |
2.0 | 8b/10b | 5GT/s | 500MB/s | 2GB/s | 4GB/s | 8GB/s |
3.0 | 128b/130b | 8GT/s | 984.6MB/s | 3.938GB/s | 7.877GB/s | 15.754GB/s |
4.0 | 128b/130b | 16GT/s | 1.969GB/s | 7.877GB/s | 15.754GB/s | 31.508GB/s |
5.0 | 128b/130b | 32 or 25GT/s | 3.9 or 3.08GB/s | 15.8 or 12.3GB/s | 31.5 or 24.6GB/s | 63.0 or 49.2GB/s |
FSB FSB=Front Side BUS前端总线 FSB只指CPU与北桥芯片之间的数据传输总线,又称前端总线。 对于P4来说,FSB频率=CPU外频*4。 这个参数指的就是前端总线的频率,它是处理器与主板交换数据的通道 北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。CPU就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度。数据传输最大带宽取决于所有同时传输的数据的宽度和传输频率,即数据带宽=(总线频率×数据位宽)÷8。目前PC机上所能达到的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz几种,前端总线频率越大,代表着CPU与北桥芯片之间的数据传输能力越大,更能充分发挥出CPU的功能。
显存带宽:显卡GPU与显存之间数据传输带宽。
block:同一个block的线程需要共享数据,必须在同一个sm中发射;(在同一个时刻,一个sm中可有多个活动block)
block中的每一个thread被发射到一个sp上;
block的数量是处理核心的数量的几倍的时候,才能充分发挥GPU的运算能力:如果太少,无法体现其计算速度相较传统方式的优势。
Thread:有自己的私有寄存器和local memory;
同一个block内的线程可以通过共享存储器和同步机制进行通信。
实际运行单元:warp(线程束),大小由硬件能力决定。tesla架构的gpu中为32。划分依据是block的ID,比如,0~31为一束。
32的warp:每发射一条warp指令,sm中的8个sp会将这条指令执行4遍。
GigaThread engine将thread blocks分配给SM调度
主机接口(host interface)
memory controller 内存控制器