首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nvprof R gputools代码永不结束

nvprof R gputools代码永不结束
EN

Stack Overflow用户
提问于 2017-05-24 14:53:39
回答 1查看 193关注 0票数 0

我试图从R上的命令行运行"nvprof“,下面是我是如何做到的:

./nvprof -打印-gpu-跟踪-设备0-分析-指标-导出-profile /home/xxxxx/%p

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

我看到的问题是,当我给出-分析-度量选项时,它给了我许多类似于==44041==重放内核"void ger_kernel(cublasGerParams)“的行。

R过程永远不会结束。我不知道我错过了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-25 04:16:03

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 --help找到关于这些选项和其他nvprof选项的更多帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44161949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档