isend-method {pbdMPI} | R Documentation |
A Rank Send (Nonblocking) an Object to the Other Rank
Description
This method lets a rank send (nonblocking) a object to the other
rank in the same communicator. The default return is NULL
.
Usage
isend(x, rank.dest = .pbd_env$SPMD.CT$rank.dest,
tag = .pbd_env$SPMD.CT$tag,
comm = .pbd_env$SPMD.CT$comm,
request = .pbd_env$SPMD.CT$request,
check.type = .pbd_env$SPMD.CT$check.type)
Arguments
x |
an object to be sent from a rank. |
rank.dest |
a rank of destination where |
tag |
a tag number. |
comm |
a communicator number. |
request |
a request number. |
check.type |
if checking data type first for handshaking. |
Details
A corresponding recv()
or irecv()
should be evoked at the
corresponding rank rank.dest
.
See details of send()
for the arugments check.type
.
Value
A NULL
is returned by default.
Methods
For calling spmd.isend.*()
:
signature(x = "ANY")
signature(x = "integer")
signature(x = "numeric")
signature(x = "raw")
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
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))
.comm.size <- comm.size()
.comm.rank <- comm.rank()
### Examples.
N <- 5
x <- (1:N) + N * .comm.rank
if(.comm.rank == 0){
y <- isend(matrix(x, nrow = 1))
} else if(.comm.rank == 1){
y <- recv()
}
comm.print(y, rank.print = 1)
### Finish.
finalize()
"
# execmpi(spmd.code, nranks = 2L)
## End(Not run)
[Package pbdMPI version 0.5-1 Index]