Learn R Programming

future (version 1.19.1)

makeClusterMPI: Create a Message Passing Interface (MPI) cluster of R workers for parallel processing

Description

The makeClusterMPI() function creates an MPI cluster of R workers for parallel processing. This function utilizes makeCluster(..., type = "MPI") of the parallel package and tweaks the cluster in an attempt to avoid stopCluster() from hanging (1). WARNING: This function is very much in a beta version and should only be used if parallel::makeCluster(..., type = "MPI") fails.

Usage

makeClusterMPI(
  workers,
  ...,
  autoStop = FALSE,
  verbose = getOption("future.debug", FALSE)
)

Arguments

workers

The number workers (as a positive integer).

Optional arguments passed to makeCluster(workers, type = "MPI", ...).

autoStop

If TRUE, the cluster will be automatically stopped (using stopCluster()) when it is garbage collected, unless already stopped.

verbose

If TRUE, informative messages are outputted.

Value

An object of class c("RichMPIcluster", "MPIcluster", "cluster") consisting of a list of "MPInode" workers.

Details

Creating MPI clusters requires the Rmpi package.

References

  1. R-sig-hpc thread Rmpi: mpi.close.Rslaves() 'hangs' on 2017-09-28.

See Also

makeClusterPSOCK() and parallel::makeCluster().