Cuda 测量nvidia gpu的利用率
我正在寻找方法来记录GPU级别的利用率。我对利用率有两个定义,乐观地说,我希望能够同时计算这两个定义:Cuda 测量nvidia gpu的利用率,cuda,gpu,nvidia,utilization,Cuda,Gpu,Nvidia,Utilization,我正在寻找方法来记录GPU级别的利用率。我对利用率有两个定义,乐观地说,我希望能够同时计算这两个定义: GPU在同一时间实例上运行/使用的cuda内核数 峰值效率每秒的触发器数 我知道有一些工具,但它们都不提供任何信息。例如: 无论有多少内核和执行速度如何,Nvidia smi的利用率显示内核的时间百分比,对于nvtop和gpustat等工具也是如此 诸如Tensor Flow Profiler和nvprof之类的探查器显示了在触发器方面的效率,但是在内核/程序级别,并且不管并行运行多个处理
- 无论有多少内核和执行速度如何,Nvidia smi的利用率显示内核的时间百分比,对于nvtop和gpustat等工具也是如此
- 诸如
和Tensor Flow Profiler
之类的探查器显示了在触发器方面的效率,但是在内核/程序级别,并且不管并行运行多个处理器的效果如何nvprof
我对工具和基于代码的解决方案都持开放态度。我可能错了,但我相信nvprof可以向您展示这些细节。您必须针对时间线和指标运行它
nvprof --export-profile timeline.prof <your_bin>
nvprof --metrics all --export-profile metrics.prof <your_bin>
nvprof——导出配置文件时间线.prof
nvprof--所有指标--导出配置文件指标.prof
然后,您可以将文件(在本例中为timeline.prof和metrics.prof)导入nvdia可视探查器,该探查器可以使用
nvvp
打开,nvprof仅显示最高效率。但这不是监视GPU本身的状态,而是分析编写的代码。无论有多少应用程序/线程正在运行,我都需要在GPU级别监控这些变量。