Located in file: MEL.hpp
MEL::
WinCreateErrorHandler
(ErrorHandlerFunc func)¶Create a window error handler.
func
- The function to use
MEL::
WinSetErrorHandler
(const Win &win, const ErrorHandler &errHndl)¶Set the error handler for a window.
win
- The file to attach to
errHndl
- The handler to use
MEL::
WinSetErrorHandler
(const Win &win, ErrorHandlerFunc func)¶Set the error handler for a window.
win
- The file to attach to
func
- The function to use
MEL::
WinGetErrorHandler
(const Win &win)¶Get the error handler for a window.
win
- The file to attach to
MEL::
WinCreate
(void *ptr, const Aint size, const int disp_unit, const Comm &comm)¶Create a window on memory allocated with MPI/MEL alloc functions.
ptr
- Pointer to the memory to be mapped
size
- The number of elements to be mapped
disp_unit
- The size of each element in bytes
comm
- The comm world to map the window within
MEL::
WinCreate
(T *ptr, const Aint size, const Comm &comm)¶Create a window on memory allocated with MPI/MEL alloc functions.
Element size determined from template parameter
ptr
- Pointer to the memory to be mapped
size
- The number of elements to be mapped
comm
- The comm world to map the window within
MEL::
WinFence
(const Win &win, const int assert_tag)¶Synchronize the RMA access epoch for win across all processes attached to it.
win
- The window to synchronize
assert_tag
- Program assertion
MEL::
WinFence
(const Win &win)¶Synchronize the RMA access epoch for win across all processes attached to it.
win
- The window to synchronize
MEL::
WinLock
(const Win &win, const int rank, const int assert_tag, const LockType lock_type)¶Get the lock on an RMA access epoch for a window.
win
- The window to lock
rank
- The process rank to get the lock from
assert_tag
- Program assertion
lock_type
- The mode to get the lock in
MEL::
WinLock
(const Win &win, const int rank, const LockType lock_type)¶Get the lock on an RMA access epoch for a window.
win
- The window to lock
rank
- The process rank to get the lock from
lock_type
- The mode to get the lock in
MEL::
WinLockExclusive
(const Win &win, const int rank, const int assert_tag)¶Get an exclusive lock on an RMA access epoch for a window.
win
- The window to lock
rank
- The process rank to get the lock from
assert_tag
- Program assertion
MEL::
WinLockExclusive
(const Win &win, const int rank)¶Get an exclusive lock on an RMA access epoch for a window.
win
- The window to lock
rank
- The process rank to get the lock from
Get a shared lock on an RMA access epoch for a window.
win
- The window to lock
rank
- The process rank to get the lock from
assert_tag
- Program assertion
Get a shared lock on an RMA access epoch for a window.
win
- The window to lock
rank
- The process rank to get the lock from
MEL::
WinUnlock
(const Win &win, const int rank)¶Release the lock on an RMA access epoch for a window.
win
- The window to lock
rank
- The process rank to get the lock from
MEL::
Put
(void *origin_ptr, int origin_num, const Datatype &origin_datatype, const Aint target_disp, const int target_num, const Datatype &target_datatype, const int target_rank, const Win &win)¶Put data into the mapped window of another process.
origin_ptr
- Pointer to the array to put
origin_num
- The number of elements to put from the local array
origin_datatype
- The derived datatype of the elements to be put
target_disp
- Element displacement into the window to put data into
target_num
- The number of elements to put into the window
target_datatype
- The derived datatype of the elements to be put into the window
target_rank
- Rank of the process to put into
win
- The window to put into
MEL::
Accumulate
(void *origin_ptr, int origin_num, const Datatype &origin_datatype, const Aint target_disp, const int target_num, const Datatype &target_datatype, const Op &op, const int target_rank, const Win &win)¶Accumulate data into the mapped window of another process.
origin_ptr
- Pointer to the array to put
origin_num
- The number of elements to put from the local array
origin_datatype
- The derived datatype of the elements to be put
target_disp
- Element displacement into the window to put data into
target_num
- The number of elements to put into the window
target_datatype
- The derived datatype of the elements to be put into the window
op
- The MPI operation to use
target_rank
- Rank of the process to put into
win
- The window to put into
MEL::
Get
(void *origin_ptr, int origin_num, const Datatype &origin_datatype, const Aint target_disp, const int target_num, const Datatype &target_datatype, const int target_rank, const Win &win)¶Get data from the mapped window of another process.
origin_ptr
- Pointer to the array to get
origin_num
- The number of elements to get into the local array
origin_datatype
- The derived datatype of the elements to be gotten
target_disp
- Element displacement into the window to get data from
target_num
- The number of elements to get from the window
target_datatype
- The derived datatype of the elements to be gotten from the window
target_rank
- Rank of the process to get from
win
- The window to get from
MEL::
WinFree
(Win &win)¶Free an RMA window.
win
- The window to free
MEL::
WinFree
(std::vector<Win> &wins)¶Free a std::vector of RMA window handles.
wins
- A std::vector of windows to free
MEL::
WinFree
(T0 &d0, T1 &d1, Args&&... args)¶Free a varadic set of RMA windows.
d0
- The first window to free
d1
- The second window to free
args
- The remaining windows to free