与MPICH的nvprof

bob*_*nto 0 fortran mpi openacc nvprof

我正在尝试分析MPI/OpenACC Fortran代码.我找到了一个网站,详细说明如何在这里使用MPI运行nvprof .给出的示例适用于OpenMPI.但是,我仅限于MPICH,我无法弄清楚它的等价物.谁知道它会是什么?

d_1*_*999 5

据我所知,这些nvprof 示例中唯一的OpenMPI特定部分是使用OMPI_COMM_WORLD_RANK每个等级获取唯一的文件名.根据这里的讨论,你可以使用PMI_RANKPMI_ID代替.

在我的系统上,我有以下小程序

program env
  implicit none
  call system("echo $PMI_RANK")
end program env
Run Code Online (Sandbox Code Playgroud)

我编译mpif90 env.f90 -o test并运行mpirun -np 2 ./test并得到

0
1
Run Code Online (Sandbox Code Playgroud)

作为输出.所以我觉得你可以只更换-o output.%h.%p.%q{OMPI_COMM_WORLD_RANK}-o output.%h.%p.%q{PMI_RANK}.

对于cray-mptmpi库,我认为正确的变量实际上是ALPS_APP_PE相反的.