Learn R Programming

Rmpi (version 0.7-2.1)

mpi.gather.Robj: Extentions of MPI_Gather and MPI_Allgather APIs

Description

mpi.gather.Robj gathers each member's object to the member specified by the argument root. The root member receives the objects as a list. mpi.allgather.Robj is the same as mpi.gather.Robj except that all members receive the result instead of just the root.

Usage

mpi.gather.Robj(obj=NULL, root = 0, comm = 1, ...)

mpi.allgather.Robj(obj=NULL, comm = 1)

Value

For mpi.gather.Robj, it returns a list, the gathered message for the root member. For

mpi.allgatherv.Robj, it returns a list, the gathered message for all members.

Arguments

obj

data to be gathered. Could be different type.

root

rank of the gather

comm

a communicator number

...

optional arugments to sapply.

Author

Hao Yu and Wei Xia

Details

Since sapply is used to gather all results, its default option "simplify=TRUE" is to simplify outputs. In some situations, this option is not desirable. Using "simplify=FALSE" as in the place of ... will tell sapply not to simplify and a list of outputs will be returned.

References

https://www.open-mpi.org/

See Also

mpi.gather, mpi.allgatherv.

Examples

Run this code
# \donttest{
#Assume that there are some slaves running
#mpi.bcast.cmd(id<-mpi.comm.rank())
#mpi.bcast.cmd(x<-rnorm(id))
#mpi.bcast.cmd(mpi.gather.Robj(x))
#x<-"test mpi.gather.Robj"
#mpi.gather.Robj(x)

#mpi.bcast.cmd(obj<-rnorm(id+10))
#mpi.bcast.cmd(nn<-mpi.allgather.Robj(obj))
#obj<-rnorm(5)
#mpi.allgather.Robj(obj)
#mpi.remote.exec(nn)
# }

Run the code above in your browser using DataLab