【问题标题】:How do I install HDF5, openMPI .mod files with macports?如何使用 macports 安装 HDF5、openMPI .mod 文件?
【发布时间】:2019-10-07 02:25:11
【问题描述】:

我已经在我的 Mac(Mojave 10.14.4,带有最新的 Xcode 和 macports)上安装了 HDF5 和 openmpi-mp(也是 openmpi-devel-mp)和 macports,以便编译需要它们的 Fortran90 程序。但是,编译失败,错误提示我找不到 use 语句请求的 mpi.mod 或 hdf5.mod。为了获得所有这些模块,我还需要安装或做什么?路径似乎不是问题,因为我确实在 /opt/local/include/ 中看到了类似 hdf5.h 的文件,我已将其指定为路径。

【问题讨论】:

  • 模组文件应该在同一个目录下。他们是吗?如何设置模块包含路径?
  • 不,该目录中根本没有 .mod 文件。我将标志 -I/opt/local/include 与编译器 (mpif90) 一起使用。事实上,在 /opt/local 中的任何地方都没有 hdf5.mod
  • 看起来你的安装有些奇怪,那么。我的 hdf5 安装目录在 path/include 中有 .h 和 .mod 文件。

标签: fortran hdf5 macports openmpi


【解决方案1】:

对于 HDF5 MPI,您需要使用单一构建环境编译这两个库(C 和 Fortran 的编译器套件相同)。您需要先构建 MPI(可能使用来自 macports 的那个)。然后,构建 HDF5参考 OpenMPI 安装

从 HDF5 构建的版本将包含包装好的 h5pfc(h5 用于 HDF5,p 用于并行,fc 用于 Fortran 编译器)。您应该使用h5pfc -show 来查看所有标志。

【讨论】:

  • 这个问题似乎并不表明需要并行 HDF5。
  • openmpi-* 包装器的使用,mpi.mod 的提及,以及 openmpi 标签让我认为它是。我会等待发帖者的消息,看看我是否需要编辑或删除我的答案。
  • 它确实适用于并行程序。为了避免openMPI的问题,我暂时切换到mpich-mp(由于某种原因,那个包确实提供了一个mpi.mod)并从macports重新安装了HDF5,但仍然没有.mod。也没有h5pfc 编译器,尽管有h5cch5c++。有人知道任何 Fortran 附加组件吗?我在 Macports 上找不到任何类似的东西。
  • 如果h5pcc 不存在,则表示HDF5 是在没有并行支持的情况下编译的。非并行 Fortran 包装器是 h5fc。这些组合是“带/不带 Fortran”、“带/不带 MPI”和其他变体(C++、Fortran 2003 接口、压缩库等)。解决方案是构建 HDF5。在构建 HDF5 之前发出 export CC=mpiccexport FC=mpif90(或系统上的相应名称)。
  • 好的,有了这些标志,它确实生成了 .mod 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-26
  • 1970-01-01
  • 2020-08-13
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
相关资源
最近更新 更多