如何通过 MPI 运行 Abinit?

如何通过 MPI 运行 Abinit?

我正在尝试奔跑阿比尼特并行,因为在顺序模式下需要太多时间。我已按照 abinit 教程中的所有步骤并行运行它,他们说使用 OpenMPI,但我无法让它工作(它只在我的 8 个核心之一上运行)。我也关注了本教程,但它仍然仅在 1 个核心上运行

通过查看日志,我终于发现了可能存在问题的地方:

您的体系结构无法处理 16、8、4 或 2 字节的 FORTRAN 文件记​​录标记!
您不能使用 ABINIT 和 MPI/IO。
MPI_ERROR_STRING:未知错误。请提交错误报告。
ABINIT
应用程序调用 MPI_Abort(MPI_COMM_WORLD, 13) - 进程 0

谷歌搜索没有帮助;我的架构应该能够并行运行,因为我可以与 Windows 版本的 abinit 并行运行。

我该怎么做才能让它发挥作用?

答案1

有几种情况可能会导致这种情况:

  1. mpi 的不兼容版本、您链接的库、您在执行时加载的库以及某些最新版本的 openmpi 之间存在一些问题。
  2. 缺少波函数或密度的输入文件。没有明确的错误消息,但这可以使 mpi io 适应并挂起作业
  3. k 点/带/fft 的数量与您提供的处理器数量不兼容,在默认并行化中它应该是 nkpt 的除数,并且在一般 paral_kgb 情况下必须是 np_kpt*np_band*np_fft 的精确除数。

尝试按顺序运行或使用较少的处理器来查看问题可能出在哪里,或者链接到旧版本的 mpi(1.2.6 通常可以)您还应该检查文件tmp_XXX_LOG_P001 002 003,这些文件记录了每个处理器的错误。他们会给你额外的提示。

相关内容