测量nvidia gpu的利用率

问题描述 投票:0回答:2

我正在寻找记录 GPU 级别利用率的方法。我有两个利用率的定义,乐观地我希望能够计算这两个:

  1. GPU 在某个时间实例运行/使用的 cuda 核心数。
  2. 峰值效率每秒 FLOPS 数。

我知道有一些工具,但它们都不提供任何信息。例如:

  • Nvidia-smi
    的利用率显示了内核时间的百分比,无论有多少个内核以及执行的速度,对于nvtop和gpustat等工具也是如此。

  • 诸如

    Tensor-Flow Profiler
    nvprof
    之类的分析器显示了 FLOP 方面的效率,但在内核/程序级别上,并且不考虑并行运行多个并行运行的影响。

我对工具和基于代码的解决方案持开放态度。

cuda gpu nvidia utilization
2个回答
1
投票

我可能是错的,但我相信 nvprof 可以向您展示这些细节。您必须针对时间线和指标运行它

nvprof --export-profile timeline.prof <your_bin>
nvprof --metrics all --export-profile metrics.prof <your_bin> 

然后,您可以将文件(在本例中为时间线.prof 和指标.prof)导入到 nvdia 可视化分析器中,该分析器可以使用

nvvp
打开。


0
投票

GPU Metrics 使用 NVIDIA Nsight Systems 进行跟踪可以记录 Turing+ GPU 上系统中所有进程随时间的 SM 利用率(以及其他几个利用率指标)。

© www.soinside.com 2019 - 2024. All rights reserved.