mpi_comm_spawn error with Rmpi and snow on SGI Altix
Hi Gad, Presumably you have installed an old implementation of MPI. mpi.comm.spawn has been supported since the MPI 1.2 standard as far as I remember. Can you pls tell us which implementation/version of MPI you use? (in case of LAM you may send us the output of 'laminfo') Best, Stefan
Gad Abraham wrote:
Hi, I'm running R-2.8.1 on SuSE linux (don't know which version, kernel 2.6.16.60-0.27-default) on an SGI Altix cluster. Rmpi 0.5-6 and snow 0.3-3 both installed OK, Rmpi is linked correctly AFAIK:
R CMD ldd Rmpi.so
linux-gate.so.1 => (0xa000000000000000)
libmpi.so => /usr/lib/libmpi.so (0x200000080008c000)
...
I'm trying to call the script testsnow.R:
library(snow)
cl <- makeCluster(4, "MPI")
fun <- function(i) {
x <- matrix(rnorm(3e6), ncol=3)
replicate(1000, crossprod(x))
}
system.time({
r <- parLapply(cl, 1:4, fun)
})
I call it with another script submitted to qsub:
#!/bin/sh
#$ -cwd
#$ -pe mpi 2
mpirun -np 1 /home/gabraham/bin/R --vanilla < testsnow.R
This fails with the error:
Error calling job_getjid(): No such file or directory
Error in .Call("mpi_comm_spawn", as.character(slave),
as.character(slavearg), :
C symbol name "mpi_comm_spawn" not in DLL for package "Rmpi"
Calls: makeCluster ... switch -> makeMPIcluster -> mpi.comm.spawn ->
.Call
Execution halted
MPI: MPI_COMM_WORLD rank 0 has terminated without calling MPI_Finalize()
MPI: aborting job
Any idea what's happening?
Thanks,
Gad