Visual studio 如何理解Nsight评测中内存统计部分的含义?

Visual studio 如何理解Nsight评测中内存统计部分的含义?,visual-studio,cuda,nvidia,nsight,Visual Studio,Cuda,Nvidia,Nsight,我正在使用Geforce 820m和 GPU时钟频率:1124 MHz(1.12 GHz) 内存时钟频率:900 Mhz 内存总线宽度:64位 二级缓存大小:1048576字节 我使用Nsight性能分析来分析我的应用程序的内存事务,并获得内存统计数据,如下所示 我怎么知道我是否达到了这张卡所能达到的最大内存吞吐量?除了内存吞吐量之外,是否还有占用率这样的百分比值?或者我如何利用这些数字的意义?GPU上的峰值理论设备内存带宽由 900MHz*2(DDR)*8字节/传输(64位宽度)=14.

我正在使用Geforce 820m和

  • GPU时钟频率:1124 MHz(1.12 GHz)
  • 内存时钟频率:900 Mhz
  • 内存总线宽度:64位
  • 二级缓存大小:1048576字节 我使用Nsight性能分析来分析我的应用程序的内存事务,并获得内存统计数据,如下所示

我怎么知道我是否达到了这张卡所能达到的最大内存吞吐量?除了内存吞吐量之外,是否还有占用率这样的百分比值?或者我如何利用这些数字的意义?

GPU上的峰值理论设备内存带宽由

900MHz*2(DDR)*8字节/传输(64位宽度)=14.4GB/s

在这种情况下,观察到的(利用的)内存带宽由“二级缓存”和“设备内存”之间链路上的数字给出:856.7MB/s(即小于1GB/s)

我怎么知道我是否达到了这张卡所能达到的最大内存吞吐量

如果你比较这两个数字,你就会知道。然而,在任何情况下,上述峰值理论带宽计算通常都是不可观测的。cuda bandwidthTest示例代码给出了“真实”代码可以实现的最大值的更好的代理,具体指的是“设备到设备”带宽测量。在任何情况下,这个数字都应该在每秒几GB的范围内(对于您的设备来说,可能是10),因此您仍然有一些空间

除了内存吞吐量之外,是否还有占用率这样的百分比值


探查器具有可能感兴趣的
dram\u利用率
。您还可以聚合
dram\u读取\u吞吐量
dram\u写入\u吞吐量
以获得更精确的数字。

在“一级/Tex缓存”和“共享内存”之间的链接上的数字如何?我能从我的GPU上得到什么信息来用于计算,比如你使用的全局内存,或者对于所有具有相同计算能力的GPU(费米2.0,开普勒3.0,麦克斯韦5.0…)它是常数吗?我看不到“L1/Tex缓存”和“共享内存”之间有任何联系,我是指它们各自的数字,先生,我能像你们对设备内存链接上的数字那个样从中得出一个含义吗?据我所知,L1或共享内存的峰值理论带宽是未发布的。但是,您可以根据以下事实来估计这些情况:每2个GPU时钟中,任何一个都可以至少提供一条128字节的缓存线(性能可能会更好,这可能取决于特定的GPU)。在任何情况下,当通过SMs聚合时,这些数字通常远高于设备内存带宽,在TB/s范围内(一级缓存和共享是每个SM资源)。您可能还需要参阅此页面的。