从python调用Fortran的MPI

问题描述 投票:1回答:1

我尝试从python调用Fortran的MPI。

在helloworld.f90中,我写:

subroutine sayhello(comm)
use mpi
!include 'mpif.h'
implicit none
integer :: comm, rank, size, ierr
call MPI_Comm_size(comm, size, ierr)
call MPI_Comm_rank(comm, rank, ierr)
print *, ’Hello, World! I am process ’,rank,’ of ’,size,’.’
end subroutine sayhello

还有另一个叫做hello.py

from mpi4py import MPI
import helloworld
fcomm = MPI.COMM_WORLD.py2f()
helloworld.sayhello(fcomm)

但是,在Ubuntu 18.04中,我使用Python 3.7.4,无法使用命令创建file.so:

f2py -m helloworld -h helloworld.pyf helloworld.f90
f2py -c helloworld.pyf hello.py

当我运行命令时:

mpirun.openmpi was unable to find the specified executable file, and 
therefore
    did not launch the job.  This error was first reported for process
    rank 0; it may have occurred for other processes as well.

您能帮我解决此错误或提供其他要运行的命令吗?>

我的计算机可以从Python打开Fortran的MP。另外,我可以在Fortran中运行MPI。但是,我无法从Python调用Fortran的MPI。

任何帮助将不胜感激

我尝试从python调用Fortran的MPI。在helloworld.f90中,我写:子例程sayhello(comm)使用mpi!include'mpif.h'隐式无整数:: comm,等级,大小,错误调用MPI_Comm_size(comm,...

parallel-processing fortran mpi ubuntu-18.04 f2py
1个回答
0
投票

我只想对此问题发表一些评论。我在Ubuntu 18.04中创建Python模块。实际上,它是WSL(Windows子系统)。我运行的是openMPI 1.10.7(太旧了),但这是我的版本。我的测试是使用numpy 1.16.5和Python 2.7.15进行的。

© www.soinside.com 2019 - 2024. All rights reserved.