我有一个用OpenACC检测的Fortran MPI代码。 这是一个大代码。 我无法在这里提供任何有意义的片段。 它在克雷阿普伦下运行良好:
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 系统,您可以从登录节点运行 aprun。 aprun 在计算节点上启动进程。默认情况下,nvprof 不会分析子进程,因此 --profile-child-processes
选项会分析生成的进程。