103 #if (defined __GNUC__ && __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5))\
104 || (defined __clang__)
105 #pragma GCC diagnostic push
106 #pragma GCC diagnostic ignored "-Wmissing-prototypes"
115 void xt_ut_init(
int decomp_size,
int comm_tmpl_size,
int comm_trans_size,
int debug_lvl,
int mode,
int debug_unit) {
150 if (!deco)
die(
"xt_ut_destroy_decomposition: invalid handle");
168 if (!
template)
die(
"xt_ut_destroy_transposition_template: invalid handle");
186 if (!trans)
die(
"xt_ut_destroy_transposition: invalid handle");
196 if (!deco)
die(
"xt_ut_init_decomposition_1d: internal error");
207 if(!deco_in)
die(
"xt_ut_init_oneway_transposition_template: invalid handle (first argument)");
210 if(!deco_out)
die(
"xt_ut_init_oneway_transposition_template: invalid handle (second argument)");
214 if (!
template)
die(
"xt_ut_init_oneway_transposition_template: internal error");
224 if (!
template)
die(
"xt_ut_init_transposition_simple: invalid handle");
226 MPI_Datatype datatype = MPI_Type_f2c(f_datatype);
229 if (!trans)
die(
"xt_ut_init_transposition_simple: internal error");
243 if (!
template)
die(
"xt_ut_init_transposition: invalid handle");
247 if (!trans)
die(
"xt_ut_init_transposition: internal error");
248 MPI_Datatype datatype = MPI_Type_f2c(f_datatype);
258 if (!trans)
die(
"xt_ut_transpose1: invalid handle");
add versions of standard API functions not returning on error
void xt_initialize(MPI_Comm default_comm)
maps integers to data pointers
void * xt_handle2pointer(Xt_handle_set_type hset, int handle)
Xt_handle_set_type xt_handle_set_new(int cap)
int xt_handle_new(Xt_handle_set_type hset, void *p)
void xt_handle_delete(Xt_handle_set_type hset, int handle)
void xt_idxlist_delete(Xt_idxlist idxlist)
Xt_idxlist xt_idxvec_new(const Xt_int *idxlist, int num_indices)
void xt_redist_delete(Xt_redist redist)
void xt_redist_s_exchange(Xt_redist redist, int num_arrays, const void **src_data, void **dst_data)
Xt_redist xt_redist_p2p_off_new(Xt_xmap xmap, const int *src_offsets, const int *dst_offsets, MPI_Datatype datatype)
void xt_ut_transpose(const void **pt_in, int itrans, int XT_UNUSED(direction), void **pt_out)
static void delete_itrans(int id)
void xt_ut_destroy_transposition_template(int id)
void xt_ut_abort(char *msg, char *source, int *line) __attribute__((noreturn))
MPI_Fint xt_ut_init_transposition(MPI_Fint itemplate, MPI_Fint offset_in[], MPI_Fint XT_UNUSED(offset_in_size), MPI_Fint offset_out[], MPI_Fint XT_UNUSED(offset_out_size), MPI_Fint f_datatype)
static void delete_ideco(int id)
static int new_itemplate(void)
MPI_Fint xt_ut_init_transposition_simple(MPI_Fint itemplate, MPI_Fint f_datatype)
static xt_ut_init_type init_val
void xt_ut_init(int decomp_size, int comm_tmpl_size, int comm_trans_size, int debug_lvl, int mode, int debug_unit)
static int new_itrans(void)
static Xt_handle_set_type template_set
MPI_Fint xt_ut_init_decomposition_1d(Xt_int *iv, int iv_n)
MPI_Fint xt_ut_init_oneway_transposition_template(int id_in, int id_out, int XT_UNUSED(mpi_world), int XT_UNUSED(icheck_unique))
static int new_ideco(void)
void xt_ut_finalize(void)
static Xt_handle_set_type deco_set
void xt_ut_destroy_decomposition(int id)
static Xt_handle_set_type trans_set
static void delete_itemplate(int id)
void xt_ut_destroy_transposition(int id)
supportes the unitrans interfaces/wrappers in xt_ut.f90 with yaxt functionality.
exchange map declarations
void xt_xmap_delete(Xt_xmap xmap)
Xt_xmap xt_xmap_all2all_new(Xt_idxlist src_idxlist, Xt_idxlist dst_idxlist, MPI_Comm comm)