[R] Use BatchJobs package to submit Rmpi job

Feng Li fli at teraproc.com
Thu Mar 19 20:24:55 CET 2015


Hi,
BatchJobs package is popular to submit R batch jobs on various job scheduler. Now we are facing the question is to submit a Rmpi jobs. So we want to know how we can leverage BatchJobs to do so. After a bit investigation/enhancement, we tested below approach on OpenLava job scheduler. we want to get some inputs from the group to see how this makes sense to you. thanks,

1. R script that submit a Rmpi job using BatchJobs:
library(BatchJobs)
conf = BatchJobs:::getBatchJobsConf()
conf$cluster.functions = makeClusterFunctionsOpenLava("/home/clusteradmin/rmpi.tmpl")      <-- specify job template file that includes "mpirun" to start R job.
reg = makeRegistry(id = "RMPIJobsExample")
f = function(x) {                                                <-- RMPI algorithm function. This is the normal Rmpi R script.
                library("Rmpi")
                ...
                mpi.spawn.Rslaves(nslaves=slaveno)
                                                                ...
                mpi.remote.exec(paste("I am",mpi.comm.rank(),"of",mpi.comm.size()))
                ...
}
batchMap(reg, f, 1)                                       <-- specify 1 Rmpi job
submitJobs(reg, np=2)                                  <-- specify number of processors to use
showStatus(reg)
waitForJobs(reg)
                                            showStatus(reg)

2. the job template: rmpi.tmpl
                                            #BSUB -q mpi_job_queue
                                            /opt/openlava/bin/openmpi-mpirun -np 1 R CMD BATCH "<%= rscript %>"


Please let us know your comments,

Thanks,
Feng Li
Teraproc Inc.


	[[alternative HTML version deleted]]



More information about the R-help mailing list