|
IPPL (Independent Parallel Particle Layer)
IPPL
|
#include <Window.h>
Public Types | |
| enum | LockType : int { Exclusive = MPI_LOCK_EXCLUSIVE , Shared = MPI_LOCK_SHARED } |
Public Member Functions | |
| Window () | |
| ~Window () | |
| operator MPI_Win * () noexcept | |
| operator const MPI_Win * () const noexcept | |
| template<std::contiguous_iterator Iter> | |
| bool | create (const Communicator &comm, Iter first, Iter last) |
| template<std::contiguous_iterator Iter> | |
| bool | attach (const Communicator &comm, Iter first, Iter last) |
| template<std::contiguous_iterator Iter> | |
| bool | detach (Iter first) |
| void | fence (int asrt=0) |
| template<std::contiguous_iterator Iter> | |
| void | put (Iter first, Iter last, int dest, unsigned int pos, Request *request=nullptr) |
| template<typename T> | |
| void | put (const T *value, int dest, unsigned int pos, Request *request=nullptr) |
| template<std::contiguous_iterator Iter> | |
| void | get (Iter first, Iter last, int source, unsigned int pos, Request *request=nullptr) |
| template<typename T> | |
| void | get (T *value, int source, unsigned int pos, Request *request=nullptr) |
| void | flush (int rank) |
| void | flushall () |
| void | lock (int locktype, int rank, int asrt=0) |
| void | lockall (int asrt=0) |
| void | unlock (int rank) |
| void | unlockall () |
Private Attributes | |
| MPI_Win | win_m |
| MPI_Aint | count_m |
| bool | attached_m |
| bool | allocated_m |
| enum ippl::mpi::rma::Window::LockType : int |
|
inline |
Definition at line 35 of file Window.h.
References allocated_m, attached_m, count_m, and win_m.
| ippl::mpi::rma::Window< Target >::~Window | ( | ) |
Definition at line 13 of file Window.hpp.
References win_m.
| bool ippl::mpi::rma::Window< Target >::attach | ( | const Communicator & | comm, |
| Iter | first, | ||
| Iter | last ) |
Definition at line 41 of file Window.hpp.
References allocated_m, attached_m, and first().
| bool ippl::mpi::rma::Window< Target >::create | ( | const Communicator & | comm, |
| Iter | first, | ||
| Iter | last ) |
Definition at line 22 of file Window.hpp.
References allocated_m, count_m, first(), and win_m.
| bool ippl::mpi::rma::Window< Target >::detach | ( | Iter | first | ) |
Definition at line 61 of file Window.hpp.
References attached_m, and first().
| void ippl::mpi::rma::Window< Target >::fence | ( | int | asrt = 0 | ) |
Definition at line 71 of file Window.hpp.
References win_m.
| void ippl::mpi::rma::Window< Target >::flush | ( | int | rank | ) |
Definition at line 140 of file Window.hpp.
References win_m.
| void ippl::mpi::rma::Window< Target >::flushall | ( | ) |
Definition at line 147 of file Window.hpp.
References win_m.
| void ippl::mpi::rma::Window< Target >::get | ( | Iter | first, |
| Iter | last, | ||
| int | source, | ||
| unsigned int | pos, | ||
| Request * | request = nullptr ) |
Definition at line 108 of file Window.hpp.
References count_m, first(), ippl::mpi::get_mpi_datatype(), and win_m.
| void ippl::mpi::rma::Window< Target >::get | ( | T * | value, |
| int | source, | ||
| unsigned int | pos, | ||
| Request * | request = nullptr ) |
Definition at line 126 of file Window.hpp.
References ippl::mpi::get_mpi_datatype(), and win_m.
| void ippl::mpi::rma::Window< Target >::lock | ( | int | locktype, |
| int | rank, | ||
| int | asrt = 0 ) |
Definition at line 154 of file Window.hpp.
References win_m.
| void ippl::mpi::rma::Window< Target >::lockall | ( | int | asrt = 0 | ) |
Definition at line 161 of file Window.hpp.
References win_m.
|
inlinenoexcept |
|
inlinenoexcept |
| void ippl::mpi::rma::Window< Target >::put | ( | const T * | value, |
| int | dest, | ||
| unsigned int | pos, | ||
| Request * | request = nullptr ) |
Definition at line 97 of file Window.hpp.
References ippl::mpi::get_mpi_datatype(), and win_m.
| void ippl::mpi::rma::Window< Target >::put | ( | Iter | first, |
| Iter | last, | ||
| int | dest, | ||
| unsigned int | pos, | ||
| Request * | request = nullptr ) |
Definition at line 79 of file Window.hpp.
References count_m, first(), and ippl::mpi::get_mpi_datatype().
| void ippl::mpi::rma::Window< Target >::unlock | ( | int | rank | ) |
Definition at line 168 of file Window.hpp.
References win_m.
| void ippl::mpi::rma::Window< Target >::unlockall | ( | ) |
Definition at line 175 of file Window.hpp.
References win_m.
|
private |
|
private |
|
private |
|
private |
Definition at line 93 of file Window.h.
Referenced by create(), fence(), flush(), flushall(), get(), get(), lock(), lockall(), operator const MPI_Win *(), operator MPI_Win *(), put(), unlock(), unlockall(), Window(), and ~Window().