|
template<typename T > |
void | remote_get (const remotable_resource &rmr, T *origin_p, const T *target_p, std::size_t size) |
|
template<typename T > |
T | remote_get_value (const remotable_resource &rmr, const T *target_p) |
|
template<typename T > |
void | remote_put (const remotable_resource &rmr, const T *origin_p, T *target_p, std::size_t size) |
|
template<typename T > |
void | remote_put_value (const remotable_resource &rmr, const T &val, T *target_p) |
|
template<typename T > |
T | remote_faa_value (const remotable_resource &rmr, const T &val, T *target_p) |
|
template<int Level = 1> |
void | verbose (const char *fmt,...) |
|
void | mpi_win_flush (int target_rank, MPI_Win win) |
|
void | mpi_win_flush_all (MPI_Win win) |
|
template<typename T > |
void | mpi_get_nb (T *origin, std::size_t count, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
void | mpi_get (T *origin, std::size_t count, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
MPI_Request | mpi_rget (T *origin, std::size_t count, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
T | mpi_get_value (int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
void | mpi_put_nb (const T *origin, std::size_t count, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
void | mpi_put (const T *origin, std::size_t count, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
MPI_Request | mpi_rput (const T *origin, std::size_t count, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
void | mpi_put_value (const T &value, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
void | mpi_atomic_faa_nb (const T *origin, T *result, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
T | mpi_atomic_faa_value (const T &value, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
void | mpi_atomic_cas_nb (const T *origin, const T *compare, T *result, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
T | mpi_atomic_cas_value (const T &value, const T &compare, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
void | mpi_atomic_get_nb (T *origin, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
T | mpi_atomic_get_value (int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
void | mpi_atomic_put_nb (const T *origin, T *result, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
T | mpi_atomic_put_value (const T &value, int target_rank, std::size_t target_disp, MPI_Win win) |
|
template<typename T > |
MPI_Datatype | mpi_type () |
|
template<> |
MPI_Datatype | mpi_type< int > () |
|
template<> |
MPI_Datatype | mpi_type< unsigned int > () |
|
template<> |
MPI_Datatype | mpi_type< long > () |
|
template<> |
MPI_Datatype | mpi_type< unsigned long > () |
|
template<> |
MPI_Datatype | mpi_type< bool > () |
|
template<> |
MPI_Datatype | mpi_type< void * > () |
|
int | mpi_comm_rank (MPI_Comm comm) |
|
int | mpi_comm_size (MPI_Comm comm) |
|
void | mpi_barrier (MPI_Comm comm) |
|
MPI_Request | mpi_ibarrier (MPI_Comm comm) |
|
template<typename T > |
void | mpi_send (const T *buf, std::size_t count, int target_rank, int tag, MPI_Comm comm) |
|
template<typename T > |
MPI_Request | mpi_isend (const T *buf, std::size_t count, int target_rank, int tag, MPI_Comm comm) |
|
template<typename T > |
void | mpi_send_value (const T &value, int target_rank, int tag, MPI_Comm comm) |
|
template<typename T > |
void | mpi_recv (T *buf, std::size_t count, int target_rank, int tag, MPI_Comm comm) |
|
template<typename T > |
MPI_Request | mpi_irecv (T *buf, std::size_t count, int target_rank, int tag, MPI_Comm comm) |
|
template<typename T > |
T | mpi_recv_value (int target_rank, int tag, MPI_Comm comm) |
|
template<typename T > |
void | mpi_bcast (T *buf, std::size_t count, int root_rank, MPI_Comm comm) |
|
template<typename T > |
T | mpi_bcast_value (const T &value, int root_rank, MPI_Comm comm) |
|
template<typename T > |
void | mpi_reduce (const T *sendbuf, T *recvbuf, std::size_t count, int root_rank, MPI_Comm comm, MPI_Op op=MPI_SUM) |
|
template<typename T > |
T | mpi_reduce_value (const T &value, int root_rank, MPI_Comm comm, MPI_Op op=MPI_SUM) |
|
template<typename T > |
void | mpi_allreduce (const T *sendbuf, T *recvbuf, std::size_t count, MPI_Comm comm, MPI_Op op=MPI_SUM) |
|
template<typename T > |
T | mpi_allreduce_value (const T &value, MPI_Comm comm, MPI_Op op=MPI_SUM) |
|
template<typename T > |
void | mpi_allgather (const T *sendbuf, std::size_t sendcount, T *recvbuf, std::size_t recvcount, MPI_Comm comm) |
|
template<typename T > |
std::vector< T > | mpi_allgather_value (const T &value, MPI_Comm comm) |
|
template<typename T > |
void | mpi_scatter (const T *sendbuf, T *recvbuf, std::size_t count, int root_rank, MPI_Comm comm) |
|
template<typename T > |
T | mpi_scatter_value (const T *sendbuf, int root_rank, MPI_Comm comm) |
|
void | mpi_wait (MPI_Request &req) |
|
bool | mpi_test (MPI_Request &req) |
|
void | mpi_make_progress () |
|
MPI_Comm & | mpi_comm_root () |
|
template<typename T > |
T | getenv_coll (const std::string &env_var, T default_val) |
|
void | print_compile_options () |
|
std::vector< option_base * > & | get_options () |
|
void | print_runtime_options () |
|
template<typename T > |
constexpr auto | data (const span< T > &s) noexcept |
|
template<typename T > |
constexpr auto | size (const span< T > &s) noexcept |
|
template<typename T > |
constexpr auto | begin (const span< T > &s) noexcept |
|
template<typename T > |
constexpr auto | end (const span< T > &s) noexcept |
|
uint64_t | clock_gettime_ns () |
|
| __attribute__ ((noinline)) inline void die(const char *fmt |
|
| va_start (args, fmt) |
|
| vsnprintf (msg, slen, fmt, args) |
|
| va_end (args) |
|
| fprintf (stderr, "\x1b[31m%s\x1b[39m\n", msg) |
|
| fflush (stderr) |
|
template<typename T > |
T | getenv_with_default (const char *env_var, T default_val) |
|
uint64_t | next_pow2 (uint64_t x) |
|
template<typename T > |
bool | is_pow2 (T x) |
|
template<typename T > |
T | round_down_pow2 (T x, T alignment) |
|
template<typename T > |
T * | round_down_pow2 (T *x, uintptr_t alignment) |
|
template<typename T > |
T | round_up_pow2 (T x, T alignment) |
|
template<typename T > |
T * | round_up_pow2 (T *x, uintptr_t alignment) |
|
std::size_t | get_page_size () |
|
move_only_t | operator+ (const move_only_t &mo1, const move_only_t &mo2) |
|
void | munmap (void *addr, std::size_t size) |
|
void * | mmap_no_physical_mem (void *addr, std::size_t size, bool replace=false, std::size_t alignment=alignof(max_align_t)) |
|
virtual_mem | reserve_same_vm_coll (std::size_t size, std::size_t alignment=alignof(max_align_t)) |
|