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