[R-sig-hpc] Problem with Rmpi and snow - makeCluster(type="MPI") not working

Rainer M Krug r.m.krug at gmail.com
Mon Nov 24 17:59:29 CET 2008

On Mon, Nov 24, 2008 at 6:20 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
> On 24 November 2008 at 16:57, Rainer M Krug wrote:
> | Sorry - posting reposted at R-sig-hpc
> (But pllease don't cross-post)

That's why I said sorry - forgotten about the new hpc list. No
crossposting intended.

> | > I managed tio install Rmpi and to load it, but I get the following
> | > errormessage when I try to create an MPI cluster and R hangs (no
> | > response):
> | >
> | > library(Rmpi)
> | > [head001:15781] mca: base: component_find: unable to open osc pt2pt:
> | > file not found (ignored)
> Hm, my reading of the error message is different from yours.
> I wouldn't be convinced that you managed to install Open MPI correctly.  It
> may be worth trying to see if you can build and run a standard 'hello world'
> in C under MPI first.

According to the installation output, Rmpi installed correctly. See
below the procedure I used:

rkrug at head001:~/source> export MPI_ROOT=/usr/local/openmpi_sun/
rkrug at head001:~/source> R CMD INSTALL  Rmpi_0.5-5.tar.gz
* Installing to library '/export/home/rkrug/R/x86_64-unknown-linux-gnu-library/2
* Installing *source* package 'Rmpi' ...
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
Try to find mpi.h ...
Found in /usr/local/openmpi_sun//include
Try to find libmpi.so or libmpich.a
Found libmpi in /usr/local/openmpi_sun//lib
checking for openpty in -lutil... yes
checking for main in -lpthread... yes
configure: creating ./config.status
config.status: creating src/Makevars
** libs
gcc -std=gnu99 -I/usr/lib64/R/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
cal/openmpi_sun//include -DMPI2 -DOPENMPI -fPIC -I/usr/local/include    -fpic  -
g -O2 -c conversion.c -o conversion.o
gcc -std=gnu99 -I/usr/lib64/R/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
cal/openmpi_sun//include -DMPI2 -DOPENMPI -fPIC -I/usr/local/include    -fpic  -
g -O2 -c internal.c -o internal.o
gcc -std=gnu99 -I/usr/lib64/R/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
cal/openmpi_sun//include -DMPI2 -DOPENMPI -fPIC -I/usr/local/include    -fpic  -
g -O2 -c RegQuery.c -o RegQuery.o
gcc -std=gnu99 -I/usr/lib64/R/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
cal/openmpi_sun//include -DMPI2 -DOPENMPI -fPIC -I/usr/local/include    -fpic  -
g -O2 -c Rmpi.c -o Rmpi.o
gcc -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so conversion.o internal.o Reg
Query.o Rmpi.o -L/usr/local/openmpi_sun//lib -lmpi -lutil -lpthread -fPIC   -L/u
sr/lib64/R/lib -lR
** R
** demo
** inst
** preparing package for lazy loading
** help
 >>> Building/Updating help pages for package 'Rmpi'
     Formats: text html latex example
  hosts                             text    html    latex
  internal                          text    html    latex
  mpi.abort                         text    html    latex
  mpi.apply                         text    html    latex   example
  mpi.barrier                       text    html    latex
  mpi.bcast                         text    html    latex
  mpi.bcast.Robj                    text    html    latex
  mpi.bcast.cmd                     text    html    latex
  mpi.cart.coords                   text    html    latex   example
  mpi.cart.create                   text    html    latex   example
  mpi.cart.get                      text    html    latex   example
  mpi.cart.rank                     text    html    latex   example
  mpi.cart.shift                    text    html    latex   example
  mpi.cartdim.get                   text    html    latex   example
  mpi.comm                          text    html    latex   example
  mpi.comm.disconnect               text    html    latex
  mpi.comm.free                     text    html    latex
  mpi.comm.inter                    text    html    latex
  mpi.comm.set.errhandler           text    html    latex
  mpi.comm.spawn                    text    html    latex
  mpi.const                         text    html    latex
  mpi.dims.create                   text    html    latex   example
  mpi.exit                          text    html    latex
  mpi.finalize                      text    html    latex
  mpi.gather                        text    html    latex   example
  mpi.gather.Robj                   text    html    latex   example
  mpi.get.count                     text    html    latex
  mpi.get.processor.name            text    html    latex
  mpi.get.sourcetag                 text    html    latex
  mpi.info                          text    html    latex
  mpi.init.sprng                    text    html    latex
  mpi.intercomm.merge               text    html    latex
  mpi.parSim                        text    html    latex
  mpi.parapply                      text    html    latex   example
  mpi.probe                         text    html    latex
  mpi.realloc                       text    html    latex
  mpi.reduce                        text    html    latex
  mpi.remote.exec                   text    html    latex   example
  mpi.scatter                       text    html    latex   example
  mpi.scatter.Robj                  text    html    latex   example
  mpi.send                          text    html    latex   example
  mpi.send.Robj                     text    html    latex
  mpi.sendrecv                      text    html    latex   example
  mpi.setup.rng                     text    html    latex
  mpi.spawn.Rslaves                 text    html    latex   example
  mpi.universe.size                 text    html    latex
  mpi.wait                          text    html    latex
** building package indices ...
* DONE (Rmpi)
rkrug at head001:~/source>

I also tried it with
rkrug at head001:~/source> export MPI_ROOT=/usr/local/openmpi_gnu/

but still the same problems.

But I will come back to your questions as soon as I managed to compile
the C_MPI example

> | >> library(snow)
> | >> cl <- makeCluster(2, type = "MPI")
> | > Rscript execution error: No such file or directory
> | > Rscript execution error: No such file or directory
> | >
> | > I am using the following version:
> But which MPI library and version ?

> Dirk
> --
> Three out of two people have difficulties with fractions.

Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation
Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Faculty of Science
Natural Sciences Building
Private Bag X1
University of Stellenbosch
Matieland 7602
South Africa

More information about the R-sig-hpc mailing list