nvprof R gputools 代码永无止境



我正在尝试从R上的命令行运行"nvprof"。这是我的做法:

./nvprof --print-gpu-trace --devices 0 --analysis-metrics --export-profile/home/xxxxx/%p R

这给了我一个R提示符,我写了R代码。我也可以用Rscript。

我看到的问题是当我给出 --分析指标选项时,它给了我很多类似于 ==44041== 重播内核"void ger_kernel(cublasGerParams)"

R进程永无止境。我不确定我错过了什么。

nvprof不会修改进程退出行为,所以我认为你只是因为你的应用程序调用了很多内核而遭受缓慢的困扰。您有两种选择来加快速度。

1. 有选择地分析指标

--analysis-metrics选项允许收集许多指标,这需要重放内核 - 为每个内核运行收集一组不同的指标。

如果应用程序有大量内核调用,这可能需要一些时间。我建议您使用nvprof --query-metrics命令查询可用指标,然后手动选择您感兴趣的指标。

知道所需的指标后,可以使用nvprof -m metric_1,metric_2,...查询它们。这样,应用程序将分析更少的指标,因此需要更少的重放,并且运行速度更快。

2. 有选择地分析内核

或者,您只能使用--kernels <context id/name>:<stream id/name>:<kernel name>:<invocation>选项分析特定内核。

例如,nvprof --kernels ::foo:2 --analysis-metrics ./your_cuda_app将分析名称包含字符串的内核的所有分析指标foo,并且仅在第二次调用时分析。此选项采用正则表达式,并且非常强大。


您可以混合搭配上述两种方法来加快性能分析速度。您将能够使用命令找到有关这些和其他 nvprof 选项的更多帮助nvprof --help.

相关内容

  • 没有找到相关文章

最新更新