global sort | 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: https://pbdr.org/
## 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))
.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()
"
# execmpi(spmd.code, nranks = 2L)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.