当我用 mpifort 编译时,所有处理器都认为它们是根

All processor think they are the root when I compile with mpifort

我的代码可以在 mpif90 和 mpiifort 上正常编译和运行,但是当我用 mpifort 编译它时,所有处理器的等级都将是 0。

当您混合使用两个 MPI 实现时,通常会发生这种情况。

例如,mpif90mpirun 可能来自 MPICH(或其衍生物),但 mpifort 由 Open MPI(或其衍生物)提供。

我建议您仔细检查:

  • which mpif90
  • which mpifort
  • which mpirun

并比较使用 mpif90mpifort.

编译时 ldd a.out 的输出