在CUDA中读取nvprof的输出

时间:2012-11-27 09:31:44

标签: cuda profiler

我正在使用nvprof运行我的程序,以使用以下命令获取配置文件信息:

nvprof -o profileOutput -s ./exe args

我想了解有关warp发散,合并读/写,占用等的信息。但是当我打开文件profileOutput时,它完全以其他格式存在并且有像@ ^ @ ^等奇怪的符号

我在vim中打开文件。查看CUDA程序的配置文件信息的正确方法是什么。请帮忙。

2 个答案:

答案 0 :(得分:4)

您不需要-s,因为它本身就是默认情况。

-o指定输出文件,该文件可以在以后导入或由Nvidia visual profiler打开,该文件不是人类可读的。

如果您需要计算占用率,可以使用Nvidia提供的occupancy calculator。关于它有一个article

如果需要跟踪分支,可以在跟踪模式和跟踪分支中使用分析。

答案 1 :(得分:4)

您可以在Nvidia Visual Profiler中打开输出文件(通常包含在CUDA SDK中)。

还有一种方法可以生成人类可读的文件:您可以为--log-file human-readable-output.log指定nvprof选项(当然human-readable-output.log是您的输出文件名)。<登记/> 您可以为日志输出启用一些其他nvprof选项:

  • --print-gpu-trace用于GPU跟踪;
  • --events用于收集事件(例如分支,启动的warp数等);
  • --metrics用于某些自定义指标(例如共享加载事务,dram利用率等 - 您可以通过在命令行中键入nvprof --query-metrics来查看完整的指标列表)。

您可以在NVIDIA nvprof documentation中找到完整的选项列表。