Extentions of MPI\_Gather and MPI\_Allgather APIs
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.
mpi.gather.Robj(obj=NULL, root = 0, comm = 1, ...) mpi.allgather.Robj(obj=NULL, comm = 1)
obj |
data to be gathered. Could be different type. |
root |
rank of the gather |
comm |
a communicator number |
... |
optional arugments to |
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.
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.
Hao Yu and Wei Xia
#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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.