Hello, I am new to R support. I am trying to install R on a compute cluster running Platform MPI and PBS Pro.
I have installed R, Rmpi and snow - at first glance successfully. When I try to run a simple Rmpi program, however, I get a Segmentation fault on mpi send. The error messages reads as follows: segoviaa@c01 Rmpi_examples]$ mpirun -e PATH=/export/opt/R-3.2.2/bin:$PATH -hostfile myhostfile -np 8 R --no-save -q < mpi_test2.r *** caught segfault *** ddress 0x78, cause 'memory not mapped' raceback: 1: .Call("mpi_send", .force.type(x, type), as.integer(type), as.integer(dest), as.integer(tag), as.integer(comm), P CKAGE = "Rmpi") 2: mpi.send(x = scmd.arg, type = 4, dest = i, tag = 50000 + i, comm = comm) 3: mpi.bcast.cmd(.mpi.worker.exec, tag = tag, ret = ret, simplify = simplify, comm = comm) 4: mpi.remote.exec(mpi.get.processor.name(), comm = comm) 5: unlist(mpi.remote.exec(mpi.get.processor.name(), comm = comm)) 6: slave.hostinfo(1) borting ... PI Application rank 0 killed before MPI_Finalize() with signal 11 The program I am running is: [segoviaa@c01 Rmpi_examples]$ more Rmpi_test2.r # The corresponding cluster of processes is already pre-constructed with mpirun. # This where the main work happens mpi.remote.exec(paste("Rank",mpi.comm.rank(),"on",Sys.info()[c("nodename")])) # Shut down the cluster and clean up any remaining connections between machines. mpi.close.Rslaves() mpi.quit() The Rprofile is located in the running directory, it is being run, and looks like this: # This R profile can be used when a cluster does not allow spawning or a job # scheduler is required to launch any parallel jobs. Saving this file as # .Rprofile in the working directory or root directory. For unix platform, run # mpirun -n [cpu numbers] R --no-save -q # Another way is to modify R_home_dir/bin/R by adding the following line after # R_HOME_DIR # R_PROFILE=${R_HOME_DIR}/library/Rmpi/Rprofile; export R_PROFILE # For windows platform with mpich2, use mpiexec wrapper and specify a working # directory where .Rprofile is inside. # Cannot be used as Rprofile.site because it will not work # If no CPU consumptions of slaves while waiting are desirable, change # nonblocak=FALSE to nonblock=TRUE and change sleep time accordingly # Following system libraries are not loaded automatically. So manual loads are # needed. # library(utils) library(stats) library(datasets) library(grDevices) library(graphics) library(methods) #Change to TRUE if you don't want any slave host info quiet=FALSE if (!invisible(library(Rmpi,logical.return = TRUE))){ warning("Rmpi cannot be loaded") q(save = "no") } options(error=quote(assign(".mpi.err", FALSE, envir = .GlobalEnv))) if (mpi.comm.size(0) > 1) invisible(mpi.comm.dup(0,1)) if (mpi.comm.rank(0) >0){ #sys.load.image(".RData",TRUE) options(echo=FALSE) .comm <- 1 mpi.barrier(0) repeat try(eval(mpi.bcast.cmd(rank=0,comm=.comm, nonblock=FALSE, sleep=0.1)),TRUE) if (is.loaded("mpi_comm_disconnect")) mpi.comm.disconnect(.comm) else mpi.comm.free(.comm) mpi.quit() } if (mpi.comm.rank(0)==0) { #options(echo=TRUE) mpi.barrier(0) if(mpi.comm.size(0) > 1 && !quiet) slave.hostinfo(1) } .Last <- function(){ if (is.loaded("mpi_initialize")){ if (mpi.comm.size(1) > 1){ print("Please use mpi.close.Rslaves() to close slaves") mpi.close.Rslaves(comm=1) } } print("Please use mpi.quit() to quit R") mpi.quit() } I am not certain that the R installation was successful, either. I installed R as follows: ./configure --prefix=/export/opt/R-3.2.2 make make check make install make install-pdf make install-tests I installed Rmpi as follows: [root@c01 R-3.2.2]# R CMD INSTALL Rmpi_0.6-5.tar.gz "--configure-args=--with-Rmpi-include=/export/opt/platform_mpi/include/ --with-Rmpi-libpath=/export/opt/platform_mpi/lib/linux_amd64/ --with-Rmpi-type=OPENMPI" I installed snow as follows: [root@c01 R-3.2.2]# R CMD INSTALL snow -l /export/opt/R-3.2.2 * installing *source* package 'snow' ... ** package 'snow' successfully unpacked and MD5 sums checked ** R ** inst ** preparing package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded * DONE (snow) Any suggestions would be greatly appreciated. Thank you, Andrea Andrea Segovia - Team Lead, HPC Services Science Portfolio/Portfolio de la Science Shared Services Canada/Services partagés Canada ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.