带 MPICH 的 nvprof

nvprof with MPICH

我正在尝试分析 MPI/OpenACC Fortran 代码。我找到了一个网站,该网站详细介绍了如何 运行 nvprof with MPI here。给出的示例适用于 OpenMPI。但是,我仅限于 MPICH,无法找出等效项。有人知道会是什么吗?

据我所知,nvprof examples are the use of OMPI_COMM_WORLD_RANK to get a unique filename for each rank. According to the discussion here 的唯一 OpenMPI 特定部分您可以使用 PMI_RANKPMI_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