| Task Pull {pbdMPI} | R Documentation |
These functions are designed in SPMD but assuming rank 0 is a master and rests are workers.
task.pull(jids, FUN, ..., rank.master = .pbd_env$SPMD.CT$rank.root,
comm = .pbd_env$SPMD.CT$comm, bcast = .pbd_env$SPMD.TP$bcast,
barrier = .pbd_env$SPMD.TP$barrier,
try = .pbd_env$SPMD.TP$try,
try.silent = .pbd_env$SPMD.TP$try.silent)
task.pull.workers(FUN = function(jid, ...){ return(jid) }, ...,
rank.master = .pbd_env$SPMD.CT$rank.root,
comm = .pbd_env$SPMD.CT$comm,
try = .pbd_env$SPMD.TP$try,
try.silent = .pbd_env$SPMD.TP$try.silent)
task.pull.master(jids, rank.master = .pbd_env$SPMD.CT$rank.root,
comm = .pbd_env$SPMD.CT$comm)
jids |
all job ids. |
FUN |
a function to be evaluated in workers. |
... |
extra variables for |
rank.master |
a rank of master where |
comm |
a communicator number. |
bcast |
if bcast to all ranks. |
barrier |
if barrier for all ranks. |
try |
if use |
try.silent |
if turn off the error message from |
All of these functions are for SPMD, NOT for master/workers.
FUN is a user defined function which has jid as
the first argument and other variables are given in ....
The jids will be asked by workers when jobs are available and
workers are no job in hand.
A list with length comm.size() - 1
will be returned for mater, but NULL for workers.
Each element of the list contains job id jid and
returns ret of the FUN call.
Wei-Chen Chen wccsnow@gmail.com, George Ostrouchov, Drew Schmidt, Pragneshkumar Patel, and Hao Yu.
Programming with Big Data in R Website: http://r-pbd.org/
get.jid().
## Not run: ### Under command mode, run the demo with 4 processors by ### (Use Rscript.exe for windows system) mpiexec -np 4 Rscript -e "demo(task_pull,'pbdMPI',ask=F,echo=F)" ## End(Not run)