Scatter an array to slaves and then apply a FUN
An array (length <= total number of slaves) is scattered to slaves so that the first
slave calls FUN
with arguments x[[1]]
and ...
, the second one
calls with arguments x[[2]]
and ...
, and so on. mpi.iapply
is a
nonblocking version of mpi.apply
so that it will not consume CPU on master node.
mpi.apply(X, FUN, ..., comm=1) mpi.iapply(X, FUN, ..., comm=1, sleep=0.01)
X |
an array |
FUN |
a function |
... |
optional arguments to |
comm |
a communicator number |
sleep |
a sleep interval on master node (in sec) |
A list of the results is returned. Its length is the same as that of x
. In
case the call FUN
with arguments x[[i]]
and ...
fails on ith
slave, corresponding error message will be returned in the returning list.
Hao Yu
#Assume that there are at least 5 slaves running #Otherwise run mpi.spawn.Rslaves(nslaves=5) x=c(10,20) mpi.apply(x,runif) meanx=1:5 mpi.apply(meanx,rnorm,n=2,sd=4)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.