#include <assert.h>
#include <inttypes.h>
#include <limits.h>
#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>
#include <mpi.h>
#include "core/core.h"
#include "core/ppm_xfuncs.h"
#include "xt/xt_core.h"
#include "xt/xt_mpi.h"
#include "xt_mpi_internal.h"
Go to the source code of this file.
|
void | xt_mpi_error (int error_code, MPI_Comm comm) |
|
size_t | xt_disp2ext_count (size_t disp_len, const int *disp) |
|
size_t | xt_disp2ext (size_t disp_len, const int *disp, struct Xt_offset_ext *restrict v) |
|
static int | xt_mpi_comm_internal_keyval_copy (MPI_Comm XT_UNUSED(oldcomm), int XT_UNUSED(keyval), void *XT_UNUSED(extra_state), void *XT_UNUSED(attribute_val_in), void *attribute_val_out, int *flag) |
|
static int | xt_mpi_comm_internal_keyval_delete (MPI_Comm XT_UNUSED(comm), int XT_UNUSED(comm_keyval), void *attribute_val, void *XT_UNUSED(extra_state)) |
|
void | xt_mpi_init (void) |
|
void | xt_mpi_finalize (void) |
|
static struct xt_mpi_comm_internal_attr * | xt_mpi_comm_get_internal_attr (MPI_Comm comm) |
|
static int | ctzl (unsigned long v) |
|
MPI_Comm | xt_mpi_comm_smart_dup (MPI_Comm comm, int *tag_offset) |
|
void | xt_mpi_comm_smart_dedup (MPI_Comm *comm, int tag_offset) |
|
void | xt_mpi_comm_mark_exclusive (MPI_Comm comm) |
|
bool | xt_mpi_test_some (int *restrict num_req, MPI_Request *restrict req, int *restrict ops_completed, MPI_Comm comm) |
|
◆ used_map_elem
◆ anonymous enum
Enumerator |
---|
used_map_elem_bits | |
Definition at line 199 of file xt_mpi.c.
◆ ctzl()
static int ctzl |
( |
unsigned long | v | ) |
|
|
inlinestatic |
◆ xt_disp2ext()
size_t xt_disp2ext |
( |
size_t | disp_len, |
|
|
const int * | disp, |
|
|
struct Xt_offset_ext *restrict | v ) |
◆ xt_disp2ext_count()
size_t xt_disp2ext_count |
( |
size_t | disp_len, |
|
|
const int * | disp ) |
◆ xt_mpi_comm_get_internal_attr()
◆ xt_mpi_comm_internal_keyval_copy()
static int xt_mpi_comm_internal_keyval_copy |
( |
MPI_Comm | XT_UNUSEDoldcomm, |
|
|
int | XT_UNUSEDkeyval, |
|
|
void * | XT_UNUSEDextra_state, |
|
|
void * | XT_UNUSEDattribute_val_in, |
|
|
void * | attribute_val_out, |
|
|
int * | flag ) |
|
static |
◆ xt_mpi_comm_internal_keyval_delete()
static int xt_mpi_comm_internal_keyval_delete |
( |
MPI_Comm | XT_UNUSEDcomm, |
|
|
int | XT_UNUSEDcomm_keyval, |
|
|
void * | attribute_val, |
|
|
void * | XT_UNUSEDextra_state ) |
|
static |
◆ xt_mpi_comm_mark_exclusive()
void xt_mpi_comm_mark_exclusive |
( |
MPI_Comm | comm | ) |
|
Annotate communicator that is for exclusive use by YAXT.
YAXT will trust communicators marked this way to not have active communications other than those initiated by YAXT functions. This is useful to prevent unnecessary MPI_Comm_dup() calls.
- Parameters
-
[in,out] | comm | communicator that will not be used by application code |
Definition at line 403 of file xt_mpi.c.
◆ xt_mpi_comm_smart_dedup()
void xt_mpi_comm_smart_dedup |
( |
MPI_Comm * | comm, |
|
|
int | tag_offset ) |
◆ xt_mpi_comm_smart_dup()
◆ xt_mpi_error()
void xt_mpi_error |
( |
int | error_code, |
|
|
MPI_Comm | comm ) |
report error return of MPI call
- Parameters
-
[in] | error_code | return code of an MPI call |
[in] | comm | communicator which was used for the respective MPI call |
Definition at line 75 of file xt_mpi.c.
◆ xt_mpi_finalize()
void xt_mpi_finalize |
( |
void | | ) |
|
◆ xt_mpi_init()
void xt_mpi_init |
( |
void | | ) |
|
◆ xt_mpi_test_some()
bool xt_mpi_test_some |
( |
int *restrict | num_req, |
|
|
MPI_Request *restrict | req, |
|
|
int *restrict | ops_completed, |
|
|
MPI_Comm | comm ) |
◆ xt_mpi_comm_internal_keyval
int xt_mpi_comm_internal_keyval = MPI_KEYVAL_INVALID |
|
static |
◆ xt_mpi_tag_ub_val