One-sided communication
MPI.Win_create
— FunctionMPI.Win_create(base::Array, comm::Comm; infokws...)
Create a window over the array base
, returning a Win
object used by these processes to perform RMA operations
This is a collective call over comm
.
infokws
are info keys providing optimization hints.
MPI.free
should be called on the Win
object once operations have been completed.
MPI.Win_create_dynamic
— FunctionMPI.Win_create_dynamic(comm::Comm; infokws...)
Create a dynamic window returning a Win
object used by these processes to perform RMA operations
This is a collective call over comm
.
infokws
are info keys providing optimization hints.
MPI.free
should be called on the Win
object once operations have been completed.
MPI.Win_allocate_shared
— Function(win, ptr) = MPI.Win_allocate_shared(T, len, comm::Comm; infokws...)
Create and allocate a shared memory window for objects of type T
of length len
, returning a Win
and a Ptr{T}
object used by these processes to perform RMA operations
This is a collective call over comm
.
infokws
are info keys providing optimization hints.
MPI.free
should be called on the Win
object once operations have been completed.
MPI.Get
— FunctionGet(origin, target_rank::Integer, [target_disp::Integer], win::Win)
Copies data from the memory window win
on the remote rank target_rank
into origin
(with diplacement target_disp
) using remote memory access. origin
can be a Buffer
, or any object for which Buffer(origin)
is defined.
External links
MPI.Put
— FunctionPut(origin, target_rank::Integer, [target_disp::Integer], win::Win)
Copies data from origin
into memory window win
on remote rank target_rank
(with diplacement target_disp
) using remote memory access. origin
can be a Buffer
, or any object for which Buffer_send(origin)
is defined.
External links
MPI.Accumulate
— FunctionAccumulate(origin, target_rank::Integer, target_disp::Integer, op::Op, win::Win)
Combine the content of the origin
buffer into the target buffer (specified by win
and displacement target_disp
) with reduction operator op
on the remote rank target_rank
using remote memory access.
origin
can be a Buffer
, or any object for which Buffer_send(origin)
is defined. op
can be any predefined Op
(custom operators are not supported).
External links
MPI.Get_accumulate
— FunctionGet_accumulate(origin, result, target_rank::Integer, target_disp::Integer, op::Op, win::Win)
Combine the content of the origin
buffer into the target buffer (specified by win
and displacement target_disp
) with reduction operator op
on the remote rank target_rank
using remote memory access. Get_accumulate
also returns the content of the target buffer before accumulation into the result
buffer.
origin
can be a Buffer
, or any object for which Buffer_send(origin)
is defined, result
can be a Buffer
, or any object for which Buffer(result)
is defined. op
can be any predefined Op
(custom operators are not supported).
External links