use*_*302 2 profiling cuda nvprof
使用命令行中的nvprof --metrics测量带宽的正确选项是什么?我正在使用flop_dp_efficiency来获得峰值FLOPS的百分比,但是手册中的带宽测量似乎有很多选项,我真的不明白我在测量什么.例如dram_read,dram_write,gld_read,gld_write对我来说都是一样的.另外,如果假设两者同时发生,我应该将bandwdith报告为读写吞吐量的总和吗?
编辑:
根据图中的优秀答案,从设备内存到内核的带宽是多少?我想在从内核到设备内存的路径上占用最小的带宽(读取+写入),这可能是L2缓存.
我试图通过测量FLOPS和带宽来确定内核是否受计算或内存限制.
Rob*_*lla 15
为了理解该领域中的分析器指标,有必要了解GPU中的内存模型.我发现在Nsight Visual Studio版本文档中发布的图表很有用.我用带有编号的箭头标记了图表,这些箭头指的是我在下面列出的编号指标(和转移方向):
有关每个指标的说明,请参阅CUDA探查器指标参考:
笔记:
根据上面的描述,您的问题可能仍未得到解答.然后,您有必要澄清您的请求 - "您想要准确衡量什么?" 但是,根据您编写的问题,您可能希望查看dram_xxx指标,如果您关心的是实际消耗的内存带宽.
此外,如果您只是想估算最大可用内存带宽,那么使用CUDA示例代码bandwidthTest可能是获取代理测量的最简单方法.只需使用报告的设备到设备带宽数,作为代码可用的最大内存带宽的估计值.
结合上述想法,dram_utilization度量标准给出了一个缩放结果,表示实际使用的总可用内存带宽的部分(从0到10).
| 归档时间: |
|
| 查看次数: |
2821 次 |
| 最近记录: |