Anyway after using
cl=makeMPIcluster(count=3),
I was able to run parApply function.
I tried
R -> library(Rmpi) -> library(snow) -> c1=makeMPIcluster(3)
Also
mpirun -host hostfile -np 1 R --no-save
library(Rmpi) -> library(snow) -> c1=makeMPIcluster(3)
Hao
PS: hostfile contains all nodes info so in R mpi.universe.size() returns
right number and will spawn to remote nodes.
Rmp under Debian 3.1 and openmpi 1.2.4 seems OK. I did find some missing
lib under Debian 4.0.
Dirk Eddelbuettel wrote:
Many thanks to Dr Yu for updating Rmpi for R 2.6.0, and for starting to
make
the changes to support Open MPI.
I have just built the updated Debian package of Rmpi (i.e. r-cran-rmpi)
under
R 2.6.0 but I cannot convince myself yet whether it works or not. Simple
tests work. E.g. on my Debian testing box, with Rmpi installed directly
using Open Mpi 1.2.3-2 (from Debian) and using 'r' from littler:
edd at ron:~> orterun -np 3 r -e 'library(Rmpi); print(mpi.comm.rank(0))'
[1] 0
[1] 1
[1] 2
edd at ron:~>
but I basically cannot get anything more complicated to work yet. R /
Rmpi
just seem to hang, in particular snow and and getMPIcluster() just sit
there:
cl <- makeSOCKcluster(c("localhost", "localhost"))
stopCluster(cl)
library(Rmpi)
cl <- makeMPIcluster(n=3)
Error in makeMPIcluster(n = 3) : no nodes available.
I may be overlooking something simple here, in particular the launching of
apps appears to be different for Open MPI than it was with LAM/MPI (or
maybe
I am just confused because I also look at LLNL's slurm for use with Open
MPI ?)
Has anybody gotten Open MPI and Rmpi to work on simple demos? Similarly,
is
anybody using snow with Rmpi and Open MPI yet?
Also, the Open MPI FAQ is pretty clear on their preference for using mpicc
for compiling/linking to keep control of the compiler and linker options
and
switches. Note that e.g. on my Debian system
edd at ron:~> mpicc --showme:link
-pthread -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl
-lutil -lm -ldl
whereas Rmpi built with just the default from R CMD:
gcc-4.2 -std=gnu99 -shared -o Rmpi.so RegQuery.o Rmpi.o conversion.o
internal.o -L/usr/lib -lmpi -lpthread -fPIC -L/usr/lib/R/lib -lR
Don't we need libopen-rte and libopen-pal as the MPI FAQ suggests?
Many thanks, Dirk
--
Three out of two people have difficulties with fractions.