|
| 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)) |
| |