我在论坛上快速浏览了一下,我认为这个问题还没有被问过。
我目前正在使用其他人在博士期间制作的 MPI/CUDA 混合代码。每个 CPU 都有自己的 GPU。我的任务是通过运行(已经工作的)代码来收集数据,并实现额外的东西。将这段代码变成单个 CPU / 多 GPU 的代码目前不是一种选择(以后可能会。)。
我想利用性能分析工具来分析整个事情。
目前的一个想法是让每个 CPU 为自己的 GPU 启动 nvvp 并收集数据,而另一个分析工具将负责一般的 CPU/MPI 部分(我计划使用 TAU,就像我通常做的那样)。
问题是,同时启动 nvvp 的界面 8 次(如果使用 8 个 CPU/GPU 运行)非常烦人。我想避免通过界面,并获得一个直接将数据写入文件的命令行,我可以稍后将其提供给 nvvc 的界面并进行分析。
我想获得一个命令行,它将由每个 CPU 执行,并为每个 CPU 生成一个文件,提供有关他们自己的 GPU 的数据。8(GPU/CPU)= 8 个文件。然后我打算用 nvcc 一个一个地单独馈送和分析这些文件,手动比较数据。
任何的想法 ?
谢谢 !