【问题标题】:openmpi ignored error: mca interface is not recognizedopenmpi 忽略错误:mca 接口无法识别
【发布时间】:2017-05-13 19:23:17
【问题描述】:

今天早上我升级了我的 gfortran(从 4.7 到 6.1.0)和 OpenMPI(从 1.10 到 2.0.1)编译器。我写了这个简单的程序:

program main                                                                                             
    use mpi_f08                                                                                          
    implicit none                                                                                        
    integer :: ierror                                                                                    

    call mpi_init(ierror)                                                                                
    call mpi_finalize(ierror)                                                                            
end program main   

当我直接编译时(没有 mpirun,只有 ./a.out),我收到以下消息(它们并不是真正的错误,因为程序按预期运行):

[username:79762] mca_base_component_repository_open: unable to open mca_grpcomm_bad: dlopen(/usr/local/lib/openmpi/mca_grpcomm_bad.so, 9): Symbol not found: _orte_grpcomm_base_modex
  Referenced from: /usr/local/lib/openmpi/mca_grpcomm_bad.so
  Expected in: flat namespace
 in /usr/local/lib/openmpi/mca_grpcomm_bad.so (ignored)
[username:79761] mca_base_component_repository_open: unable to open mca_grpcomm_bad: dlopen(/usr/local/lib/openmpi/mca_grpcomm_bad.so, 9): Symbol not found: _orte_grpcomm_base_modex
  Referenced from: /usr/local/lib/openmpi/mca_grpcomm_bad.so
  Expected in: flat namespace
 in /usr/local/lib/openmpi/mca_grpcomm_bad.so (ignored)
[username:79761] mca_base_component_repository_open: unable to open mca_pml_bfo: dlopen(/usr/local/lib/openmpi/mca_pml_bfo.so, 9): Symbol not found: _ompi_free_list_item_t_class
  Referenced from: /usr/local/lib/openmpi/mca_pml_bfo.so
  Expected in: flat namespace
 in /usr/local/lib/openmpi/mca_pml_bfo.so (ignored)
[username:79761] mca_base_component_repository_open: coll "/usr/local/lib/openmpi/mca_coll_hierarch" uses an MCA interface that is not recognized (component MCA v2.0.0 != supported MCA v2.1.0) -- ignored
[username:79761] mca_base_component_repository_open: unable to open mca_coll_ml: dlopen(/usr/local/lib/openmpi/mca_coll_ml.so, 9): Symbol not found: _mca_bcol_base_components_in_use
  Referenced from: /usr/local/lib/openmpi/mca_coll_ml.so
  Expected in: flat namespace
 in /usr/local/lib/openmpi/mca_coll_ml.so (ignored)

我记得当我使用 openmpi 编译我的代码并使用 mpich 或 intel 版本的 mpirun 运行它时收到了类似的警告。现在显然不是这种情况,但我想我会提到它。

知道是什么导致了这些警告吗?

编辑:

为了确保我的运行时 OpenMPI 库确实是 2.0.1,我在上面显示的代码中添加了这行代码:

print'(3(A,I1))', "OpenMPI version = ", OMPI_MAJOR_VERSION, ".", OMPI_MINOR_VERSION, ".",& 
  8                       OMPI_RELEASE_VERSION

它给出了以下输出:

OpenMPI version = 2.0.1

按照 VladimirF 的建议,我运行了 mpirun -v,它输出了以下内容:

 [username:02210] mca_base_component_repository_open: unable to open mca_grpcomm_bad: dlopen(/usr/local/lib/openmpi/mca_grpcomm_bad.so, 9): Symbol not found: _orte_grpcomm_base_modex
  Referenced from: /usr/local/lib/openmpi/mca_grpcomm_bad.so
  Expected in: flat namespace
 in /usr/local/lib/openmpi/mca_grpcomm_bad.so (ignored)
--------------------------------------------------------------------------
No executable was specified on the mpirun command line.

Aborting.

另外,mpirun --version 返回:mpirun (Open MPI) 2.0.1

【问题讨论】:

  • @VladimirF 不,我不知道我必须这样做。我认为这与openMPI有关。如果 MPI 库与 openMPI 不兼容,它不会在安装过程中出现吗?我在网上做了一些快速搜索,但只出现了下载/安装 openMPI 的链接。
  • MPI 是一个标准。 OpenMPI 是根据该标准的实际库 mado。但是如果你先更新 GCC,然后安装 OpenMPI,你应该没问题。下次请报告 MPI 库类型和版本,而不是 "mpif90 版本"
  • @VladimirF 我重新安装了 OpenMPI 版本 2.0.1 只是为了确保它基于正确的 GCC 版本,但警告仍然存在
  • 是的,你应该没问题,如果是旧版本的话根本编译不了。
  • 打印不测试mpirun版本,编译时填写!直接运行时也需要这些库。只需测试mpirun -v

标签: macos fortran mpi gfortran openmpi


【解决方案1】:

感谢 Gilles Gouaillardet 在 OpenMPI 论坛上的帮助,我找到了问题所在。

问题:

我安装了较新的 2.0.1 版本,但没有卸载 1.10。由于我将它安装在同一位置,因此某些 mca 文件被覆盖,而其他 mca 文件已在较新版本中被删除或重命名,因此仍存在于目录中。最终这些模块文件在2.0.1版本没有被识别,导致出现上述警告。

解决方案:

  1. 删除所有插件文件:rm -rf /usr/local/lib/openmpi
  2. 重新安装 Openmpi:make install

【讨论】:

  • 我在怀疑类似的事情。
猜你喜欢
  • 2016-02-20
  • 2012-09-17
  • 2012-09-30
  • 2021-08-05
  • 2015-12-06
  • 2019-08-19
  • 1970-01-01
相关资源
最近更新 更多