global print and cat | R Documentation |
The functions globally print or cat a variable from specified processors, by default messages is shown on screen.
comm.print(x, all.rank = .pbd_env$SPMD.CT$print.all.rank,
rank.print = .pbd_env$SPMD.CT$rank.source,
comm = .pbd_env$SPMD.CT$comm,
quiet = .pbd_env$SPMD.CT$print.quiet,
flush = .pbd_env$SPMD.CT$msg.flush,
barrier = .pbd_env$SPMD.CT$msg.barrier,
con = stdout(), ...)
comm.cat(..., all.rank = .pbd_env$SPMD.CT$print.all.rank,
rank.print = .pbd_env$SPMD.CT$rank.source,
comm = .pbd_env$SPMD.CT$comm,
quiet = .pbd_env$SPMD.CT$print.quiet, sep = " ", fill = FALSE,
labels = NULL, append = FALSE, flush = .pbd_env$SPMD.CT$msg.flush,
barrier = .pbd_env$SPMD.CT$msg.barrier, con = stdout())
x |
a variable to be printed. |
... |
variables to be cat. |
all.rank |
if all ranks print (default = FALSE). |
rank.print |
rank for printing if not all ranks print (default = 0). |
comm |
communicator for printing (default = 1). |
quiet |
FALSE for printing rank number. |
sep |
sep argument as in the |
fill |
fill argument as in the |
labels |
labels argument as in the |
append |
labels argument as in the |
flush |
if flush |
barrier |
if barrier |
con |
|
Warning: These two functions use barrier()
to make sure
the well printing process on screen, so should be called by all processors
to avoid a deadlock. A typical misuse is called inside a condition check,
such as if(.comm.rank == 0) comm.cat(...)
.
rank.print
can be a integer vector containing the ranks of
processors which print messages.
A print()
or cat()
is called for the specified processors
and the messages of the input variables is shown on screen by default.
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))
### Example.
comm.print(comm.rank(), rank.print = 1)
### 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.