Trk*_*mrc 4 fedora yum openmpi fedora-21 dnf
我正在尝试使用“mpif90”在 Fedora 21 中编译一些代码。
首先,我使用“yum”安装 openmpi:
[root@localhost Inversion]# yum install openmpi
Loaded plugins: langpacks
Package openmpi-1.8.3-2.fc21.x86_64 already installed and latest version
Nothing to do
Run Code Online (Sandbox Code Playgroud)
但是当我使用“make”编译时,它不起作用:
[root@localhost Inversion]# make all
mpif90 -O3 -c src/dispersion.f90
make: mpif90: Command not found
Makefile:18: recipe for target 'obj' failed
make: *** [obj] Error 127
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我已经下载了 openmpi 包,但它无法编译。
您无法编译,因为您尚未加载必要的模块。
您需要加载环境模块,这就是 Fedora 在安装时处理 openmpi 的方式:
dnf install openmpi
Run Code Online (Sandbox Code Playgroud)
(在 Fedora 25 中)
只需按照以下步骤操作:
在您的终端中,执行以下操作:
module avail
Run Code Online (Sandbox Code Playgroud)
你应该看到这样的输出:
--------------------- /usr/share/Modules/modulefiles ----------------------
dot module-git module-info modules null use.own
---------------------------- /etc/modulefiles -----------------------------
mpi/openmpi-x86_64
Run Code Online (Sandbox Code Playgroud)
请注意,有mpi/openmpi-x86_64
可供您“加载”的模块。
在您的终端中,您只需执行以下操作:
module load mpi/openmpi-x86_64
Run Code Online (Sandbox Code Playgroud)现在,您可以访问所有的MPI编译器像mpif90
和mpic++
等,您可以看到编译的二进制文件存储在:/usr/lib64/openmpi/bin
:
$ which mpif90
Run Code Online (Sandbox Code Playgroud)
你会看到输出是:
/usr/lib64/openmpi/bin/mpif90
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
4810 次 |
最近记录: |