在Ubuntu抛出错误时使用openmpi 3.0.0加载Rmpi

时间:2017-10-03 07:30:19

标签: r linux openmpi parallel.foreach

我在尝试安装Rmpi时遇到了一些库问题,在Ubuntu 16.04上已经将openmpi 3.0.0从源安装到/ usr / local。

open mpi似乎安装正确,mpirun --version工作

当我尝试使用此命令安装Rmpi时

sudo R CMD INSTALL ./Downloads/Rmpi_0.6-6.tar.gz --configure-args="--with-Rmpi-type={OPENMPI}"

编译好,找到库

I am here /usr/local and it is OpenMPI
Trying to find mpi.h ...
Found in /usr/local/include
Trying to find libmpi.so or libmpich.a ...
Found libmpi in /usr/local/lib
checking for orted... yes
checking for openpty in -lutil... yes
checking for main in -lpthread... yes
configure: creating ./config.status

但是当它进行负载测试时我得到了

** testing if installed package can be loaded
*** An error occurred in MPI_Init
*** on a NULL communicator
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
***    and potentially your MPI job)

我尝试过很多东西,但仍然没有运气。如何追踪连接到mpi的错误?

2 个答案:

答案 0 :(得分:1)

根据评论部分中的各种交换,当Rmpi将Open MPI用作插件时,似乎存在问题。

解决方案/解决方法是从头开始重建Open MPI并使用--disable-dlopen参数进行配置。

这可能与Open MPI

中讨论的问题有关

答案 1 :(得分:0)

如果仍然有类似的问题来安装Rmpi(未定义符号:mpi_universe_size ): 在Ubuntu 18.04上使用R 3.5.1的操作系统,安装 libopenmpi-dev 可以解决此问题。