And finally, to end our tour of MPI, we come almost full circle in a sense. Just as in Chapter 1, Simple Parallelism with R, where R's core parallel
package provides specific versions of lapply()
that make it very simple to run a function in parallel, Rmpi
and pbdMPI
also provide their own lapply()
variants.
Here we revisit the basic operation of parLapply()
(
Chapter 1, Simple Parallelism with R) in conjunction with MPI. We hinted back then that an MPI cluster can be used with parLapply(),
and this indeed can be done by introducing an additional package called snow
, an abbreviation that stands for Simple Network Of Workstations (SNOW). All that we need to do is to install the snow
package from CRAN, load the libraries in the correct order, and create the cluster using Rmpi
thus (note that pbdMPI
is not compatible with parLapply()
):
> library("snow") > library("Rmpi") > library("parallel") Attaching package: 'parallel' The following objects...