global sort {pbdMPI} | R Documentation |
This function globally sorts distributed data for all ranks.
comm.sort(x, decreasing = FALSE, na.last = NA, comm = .pbd_env$SPMD.CT$comm, status = .pbd_env$SPMD.CT$status)
x |
a vector. |
decreasing |
logical. Should the sort order be increasing or decreasing? |
na.last |
for controlling the treatment of |
comm |
a communicator number. |
status |
a status number. |
The distributed quick sort is implemented for this functions.
The returns are the same size of x
but in global sorting order.
All ranks may not have a NULL x
.
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/
## 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. comm.set.seed(123456, diff = TRUE) x <- c(rnorm(5 + .comm.rank * 2), NA) # x <- sample(1:5, 5 + .comm.rank * 2, replace = TRUE) comm.end.seed() if(.comm.rank == 1){ x <- NULL ### Test for NULL or 0 vector } y <- allgather(x) comm.print(y) y <- comm.sort(x) y <- allgather(y) comm.print(y) ### Finish. finalize() ## End(Not run)