我正在尝试分析MPI / OpenACC Fortran代码。我找到了一个详细说明如何使用MPI here运行nvprof的网站。给出的示例适用于OpenMPI。但是,我仅限于MPICH,我无法弄清楚它的等价物。谁知道它会是什么?
答案 0 :(得分:5)
据我所知,nvprof
examples的唯一OpenMPI特定部分是使用OMPI_COMM_WORLD_RANK
为每个等级获取唯一的文件名。根据讨论here,您可以使用PMI_RANK
或PMI_ID
代替。
在我的系统上,我有以下小程序
program env
implicit none
call system("echo $PMI_RANK")
end program env
我使用mpif90 env.f90 -o test
进行编译并使用mpirun -np 2 ./test
运行并获取
0
1
作为输出。所以我认为你可以用-o output.%h.%p.%q{OMPI_COMM_WORLD_RANK}
替换-o output.%h.%p.%q{PMI_RANK}
。
对于cray-mpt
mpi库,我认为正确的变量实际上是ALPS_APP_PE
。