global as.gbd {pbdMPI} | R Documentation |
Global As GBD Function
Description
This function redistributes a regular matrix existed in rank.soure and turns it in a gbd matrix in row blocks.
Usage
comm.as.gbd(X, balance.method = .pbd_env$SPMD.IO$balance.method,
rank.source = .pbd_env$SPMD.CT$rank.source,
comm = .pbd_env$SPMD.CT$comm)
Arguments
X |
a regular |
balance.method |
a balance method. |
rank.source |
a rank of source where elements of |
comm |
a communicator number. |
Details
X
matrix in rank.source
will be redistributed as a gbd
matrix in row blocks.
This function will first set NULL
to X
if it is not
located in rank.source
, then called comm.load.balance()
to redistributed the one located in rank.source
to all other ranks.
Value
A X.gbd
will be returned.
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/
See Also
comm.load.balance()
,
comm.read.table()
and
comm.write.table()
.
Examples
### 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))
### Examples.
X <- matrix(1:15, ncol = 3)
X.gbd <- comm.as.gbd(X)
comm.print(X.gbd, all.rank = TRUE)
### Finish.
finalize()
"
pbdMPI::execmpi(spmd.code, nranks = 2L)