| global range, max, and min {pbdMPI} | R Documentation |
Global Range, Max, and Min Functions
Description
These functions are global range, max and min applying on distributed data for all ranks.
Usage
comm.range(..., na.rm = FALSE, comm = .pbd_env$SPMD.CT$comm)
comm.max(..., na.rm = FALSE, comm = .pbd_env$SPMD.CT$comm)
comm.min(..., na.rm = FALSE, comm = .pbd_env$SPMD.CT$comm)
Arguments
... |
an 'numeric' objects. |
na.rm |
if |
comm |
a communicator number. |
Details
These functions will apply range(), max() and min()
locally, and apply allgather to get all local results from other ranks,
then apply range(), max() and min() on all local
results.
Value
The global values (range, max, or min) are returned to all ranks.
Author(s)
Wei-Chen Chen wccsnow@gmail.com, George Ostrouchov, Drew Schmidt, Pragneshkumar Patel, and Hao Yu.
References
Programming with Big Data in R Website: https://pbdr.org/
Examples
## Not run:
### Save code in a file "demo.r" and run with 2 processors by
### SHELL> mpiexec -np 2 Rscript demo.r
spmd.code <- "
### Initialize
suppressMessages(library(pbdMPI, quietly = TRUE))
if(comm.size() != 2){
comm.cat(\"2 processors are requried.\n\", quiet = TRUE)
finalize()
}
### Examples.
a <- 1:(comm.rank() + 1)
b <- comm.range(a)
comm.print(b)
b <- comm.max(a)
comm.print(b)
b <- comm.min(a)
comm.print(b)
### Finish.
finalize()
"
# execmpi(spmd.code, nranks = 2L)
## End(Not run)
[Package pbdMPI version 0.5-1 Index]