什么会导致 nvprof return 没有数据?

What would cause nvprof to return no data?

我有一个使用 OpenACC 检测的 Fortran MPI 代码。这是一个很大的代码。我无法在这里提供任何有意义的片段。它在 Cray aprun 下运行良好:

aprun -n 15 ./mycode

我想用 nvprof 分析它。我试试:

aprun -n 15 -b nvprof ./mycode

代码再次运行正常,但是说完一切后,我没有得到分析数据,只有一条消息:

======== Warning: No CUDA application was profiled, exiting

没有提供其他错误消息。任何人都知道什么会导致这种行为?我正在使用 Cray MPI Fortran 编译器进行编译。我的编译标志是

-Mdaz -traceback -Ktrap=inv -acc -ta=tesla,cuda6.5,cc35,nofma -Minfo=accel -Mcuda=cuda6.5,cc35 -I. -module .

cudatoolkit 模块已加载。

aprun -n 15 -b nvprof --profile-child-processes ./mycode

对于 cray 系统,您 运行 ap运行 来自登录节点。 ap运行 在计算节点上启动进程。默认情况下,nvprof 不会分析子进程,因此 --profile-child-processes 选项分析生成的进程。