【问题标题】:Openmpi on Fedora 21Fedora 21 上的 Openmpi
【发布时间】:2016-11-03 22:08:15
【问题描述】:

我正在尝试使用“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

但是当我使用'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

如你所见,我已经下载了 openmpi 包,但它无法编译。

【问题讨论】:

    标签: fedora yum openmpi fedora-21 dnf


    【解决方案1】:

    您无法编译,因为您没有加载必要的模块。

    您需要加载环境模块,这就是 Fedora 在安装时处理 openmpi 的方式:

    dnf install openmpi
    

    (在 Fedora 25 中)

    只需按照以下步骤操作:

    1. 在您的终端中,执行以下操作:

      module avail
      

      您应该会看到类似这样的输出:

      --------------------- /usr/share/Modules/modulefiles ----------------------
      dot         module-git  module-info modules     null        use.own
      ---------------------------- /etc/modulefiles -----------------------------
      mpi/openmpi-x86_64
      

      请注意,mpi/openmpi-x86_64 模块可供您“加载”。

    2. 在您的终端中,您只需:

      module load mpi/openmpi-x86_64
      
    3. 现在您可以访问所有 mpi 编译器,例如 mpif90mpic++ 等。您可以看到编译器二进制文件存储在:/usr/lib64/openmpi/bin

      $ which mpif90 
      

      你会看到输出是:

      /usr/lib64/openmpi/bin/mpif90
      

    【讨论】:

      【解决方案2】:
      dnf whatprovides "*/mpif90"
      

      告诉你什么包提供了这个二进制文件。在 Fedora 中,您可以从 openmpi-develmpich 包中获取它。这么跑

      yum install openmpi-devel
      

      应该为你做这项工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-31
        • 2015-07-20
        • 1970-01-01
        相关资源
        最近更新 更多