future (version 1.10.0)

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

verbose

If TRUE, informative messages are outputted.

Value

An object of class "FutureMPIcluster" 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().