allreduce-method {pbdMPI} | R Documentation |
This method lets all ranks receive a deduction of objects from every rank in the same communicator based on a given operation. The default return is an object like the input.
allreduce(x, x.buffer = NULL, op = .pbd_env$SPMD.CT$op, comm = .pbd_env$SPMD.CT$comm)
x |
an object to be gathered from all ranks. |
x.buffer |
a buffer to hold the return object which probably has
|
op |
a reduction operation applied to combine all |
comm |
a communicator number. |
All x
on all ranks are likely presumed to have the same size and type.
x.buffer
can be NULL
or unspecified. If specified, the type
should be one of integer, double, or raw specified correctly according to
the type of x
.
The reduced object of the same type as x
is returned by default.
For calling spmd.allreduce.*
:
signature(x = "ANY", x.buffer = "missing")
signature(x = "integer", x.buffer = "integer")
signature(x = "numeric", x.buffer = "numeric")
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/
allgather()
, gather()
, reduce()
.
## Not run: ### Save code in a file "demo.r" and run with 2 processors by ### SHELL> mpiexec -np 2 Rscript demo.r ### Initial. suppressMessages(library(pbdMPI, quietly = TRUE)) init() .comm.size <- comm.size() .comm.rank <- comm.rank() ### Examples. N <- 5 x <- (1:N) + N * .comm.rank y <- allreduce(matrix(x, nrow = 1), op = "sum") comm.print(y) y <- allreduce(x, double(N), op = "prod") comm.print(y) ### Finish. finalize() ## End(Not run)