RTX 3080 LHR 缺少 gpu__dram_throughput CUDA 指标

RTX 3080 LHR Missing gpu__dram_throughput CUDA metric

作为机器学习项目的一部分,我们正在优化一些自定义 CUDA 内核。

我们正在尝试使用 Nsight Compute 对它们进行分析,但在 运行 CUDA 内核的简单包装器时,在 LHR RTX 3080 上遇到以下错误 运行:

==ERROR== Failed to access the following 4 metrics: dram__cycles_active.avg.pct_of_peak_sustained_elapsed, dram__cycles_elapsed.avg.per_second, gpu__compute_memory_throughput.avg.pct_of_peak_sustained_elapsed, gpu__dram_throughput.avg.pct_of_peak_sustained_elapsed

==ERROR== Failed to profile kernel "kernel" in process 20204

运行 RTX 3080 TI(非 LHR)与 RTX-3080(LHR)上可用指标的差异 nv-nsight-cu-cli --devices 0 --query-metrics,我们注意到以下指标缺失RTX 3080 LHR 版本:

gpu__compute_memory_request_throughput
gpu__compute_memory_throughput
gpu__dram_throughput

所有这些都是使用 Nsight Compute 进行基本内存分析所必需的。除这些指标外,所有其他指标均正确存在。这是LHR卡的限制吗?为什么他们不在场?

详情:

我在 nvidia 开发者论坛上看到了你的 post,从它的样子来看,nvidia 并没有打算这样做,所以我要么暂时使用有效的(非 lhr)直到他们修复它。 Nsight Compute 支持 Quadro 和 tesla 卡,因此它们可能是一种保留解决方案。

所以回答主要问题:

Will buying a non-LHR GPU address this problem?

就目前而言,是的,购买非 lhr 3080 应该可以解决这个问题。

根据 Nvidia 论坛,这是一个意外错误,已通过从 CUDA 11.5 升级到 CUDA 11.6 得到修复,在 CUDA 11.6 下,所有分析都可以使用所有可用指标正常工作。

成功条件:

  • 技嘉 RTX 3080 Turbo (LHR)
  • 库达版本:11.6
  • 驱动版本:511.23.
  • Windows 10

我们不知道为什么这些指标不可用,但版本更新绝对是正确的解决方法。