我试图在 ubuntu 上安装 openpi。我有一个 Ubuntu 18.04.4 LTS(64 位)桌面。我使用安装了openmpi
sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi2 libopenmpi-dev openssh-client openssh-server
然后,在 .bashrc 中,我添加了以下两行:
echo export PATH="$PATH:/home/$USER/.openmpi/bin" >> /home/$USER/.bashrc
回声导出 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/.openmpi/lib/" >> /home/$USER/.bashrc
之后我用dartmouth hello world mpi 写了一个小程序,编译运行,通过输入检查openmpi安装是否OKgfortran ubuntu.f90
这导致以下错误
ubuntu.f90:2:错误:无法打开包含的文件“mpif.h”
ubuntu.f90 中的代码:
program hello
include 'mpif.h'
integer rank, size, ierror, tag, status(MPI_STATUS_SIZE)
call MPI_INIT(ierror)
call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierror)
call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierror)
print*, 'node', rank, ': Hello world'
call MPI_FINALIZE(ierror)
end
我已尝试按照此问题的答案安装 libblacs-mpi-dev。这个问题似乎无关紧要。
要在 Fortran 程序中包含 C 风格的头文件,您需要使用 C 风格的预处理器指令
而不是本机 Fortran
include
语句,然后gfortran
通过添加命令行开关告诉运行预处理器-cpp
(或将源文件后缀更改为大写,F90
这会导致预处理器默认运行)。参见例如但是 include
mpif.h
显然已弃用,相反,您可能应该使用 MPI模块mpif90
,并使用而不是直接调用来编译程序gfortran
。前任。
FWIW,您的更改可能没有效果,因为您已使用安装
PATH
到系统目录中LD_LIBRAY_PATH
openmpi
apt