One-sided communication

MPI.Win_createFunction
MPI.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.

source
MPI.Win_create_dynamicFunction
MPI.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.

source
MPI.Win_allocate_sharedFunction
(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.

source
MPI.GetFunction
Get(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

source
MPI.PutFunction
Put(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

source
MPI.AccumulateFunction
Accumulate(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

source
MPI.Get_accumulateFunction
Get_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

source