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]