Fortran 带MPICH的nvprof

Fortran 带MPICH的nvprof,fortran,mpi,openacc,nvprof,Fortran,Mpi,Openacc,Nvprof,我正在尝试分析MPI/OpenACC Fortran代码。我发现了一个详细介绍如何使用MPI运行nvprof的网站。给出的示例是针对OpenMPI的。然而,我仅限于MPICH,我无法找出等效的。有人知道会是什么吗?据我所知,nvprof中唯一特定于OpenMPI的部分是使用OMPI\u COMM\u WORLD\u RANK为每个列组获取唯一的文件名。根据讨论,您可以使用PMI_RANK或PMI_ID代替 在我的系统上,我有以下小程序 program env implicit none

我正在尝试分析MPI/OpenACC Fortran代码。我发现了一个详细介绍如何使用MPI运行nvprof的网站。给出的示例是针对OpenMPI的。然而,我仅限于MPICH,我无法找出等效的。有人知道会是什么吗?

据我所知,
nvprof
中唯一特定于OpenMPI的部分是使用
OMPI\u COMM\u WORLD\u RANK
为每个列组获取唯一的文件名。根据讨论,您可以使用
PMI_RANK
PMI_ID
代替

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

program env
  implicit none
  call system("echo $PMI_RANK")
end program env
我使用
mpif90 env.f90-o test编译,并使用
mpirun-np2./test运行,然后获取

0
1
作为输出。因此,我认为您可以将
-o输出。%h.%p.%q{OMPI\u COMM\u WORLD\u RANK}
替换为
-o输出。%h.%p.%q{PMI\u RANK}


对于
cray mpt
mpi库,我认为正确的变量实际上是
ALPS\u APP\u PE

据我所知,
nvprof
中唯一OpenMPI特定的部分是使用
OMPI\u COMM\u WORLD\u RANK
为每个级别获取唯一的文件名。根据讨论,您可以使用
PMI_RANK
PMI_ID
代替

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

program env
  implicit none
  call system("echo $PMI_RANK")
end program env
我使用
mpif90 env.f90-o test编译,并使用
mpirun-np2./test运行,然后获取

0
1
作为输出。因此,我认为您可以将
-o输出。%h.%p.%q{OMPI\u COMM\u WORLD\u RANK}
替换为
-o输出。%h.%p.%q{PMI\u RANK}


对于
cray mpt
mpi库,我相信正确的变量实际上是
ALPS\u APP\u PE

您能更具体地说明什么不适合您吗?示例使用变量OMPI\u COMM\u WORLD\u RANK,如下所示:
-o输出。%h.%p.%q{OMPI\u COMM u WORLD\u RANK}
该变量是OpenMPI独有的。我需要与MPICH等效的软件。谢谢。您能更具体地说明什么不适合您吗?示例使用变量OMPI_COMM_WORLD_RANK,如下所示:
-o输出。%h.%p.%q{OMPI_COMM_WORLD_RANK}
该变量是OpenMPI独有的。我需要与MPICH等效的软件。谢谢,谢谢!我会试一试的!另外,
-x ENV_VAR1-x ENV_VAR2…
应替换为
-envlist ENV_VAR1,ENV_VAR2,…
@HristoIliev抱歉,你把我弄丢了。这是mpi执行命令中的标志吗?我用的是aprun,它没有这样的标志。@d_1999谢谢你的建议,但系统无法识别PMI_RANK或PMI_ID。立即返回一个错误。@bob.sacamento,正如您刚才提到的,您正在使用
aprun
我猜您实际上运行的是Cray系统,该系统可能使用Cray的mpt mpi库,我认为该库与mpich相关,但大量定制。因此,我已经更新了答案,包括应该正确替换的
PMI_RANK
(在英国克雷系统上测试)。谢谢!我会试一试的!另外,
-x ENV_VAR1-x ENV_VAR2…
应替换为
-envlist ENV_VAR1,ENV_VAR2,…
@HristoIliev抱歉,你把我弄丢了。这是mpi执行命令中的标志吗?我用的是aprun,它没有这样的标志。@d_1999谢谢你的建议,但系统无法识别PMI_RANK或PMI_ID。立即返回一个错误。@bob.sacamento,正如您刚才提到的,您正在使用
aprun
我猜您实际上运行的是Cray系统,该系统可能使用Cray的mpt mpi库,我认为该库与mpich相关,但大量定制。因此,我更新了答案,以包括应该正确替换的
PMI_RANK
(在英国克雷系统上测试)。