Fortran 带MPICH的nvprof
我正在尝试分析MPI/OpenACC Fortran代码。我发现了一个详细介绍如何使用MPI运行nvprof的网站。给出的示例是针对OpenMPI的。然而,我仅限于MPICH,我无法找出等效的。有人知道会是什么吗?据我所知,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
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
(在英国克雷系统上测试)。