Yet Another eXchange Tool  0.9.0
Classes | Functions
yaxt_f2c.c File Reference
#include <assert.h>
#include <mpi.h>
#include "core/core.h"
#include "core/ppm_xfuncs.h"
#include "cfortran.h"
#include "xt/xt_mpi.h"
#include "xt/xt_idxlist.h"
#include "xt/xt_idxvec.h"
#include "xt/xt_idxstripes.h"
#include "xt/xt_idxmod.h"
#include "xt/xt_xmap.h"
#include "xt/xt_xmap_intersection.h"
#include "xt/xt_xmap_all2all.h"
#include "xt/xt_xmap_dist_dir.h"
#include "xt/xt_xmap_dist_dir_intercomm.h"
#include "xt/xt_redist.h"
#include "xt/xt_redist_p2p.h"
#include "xt/xt_redist_single_array_base.h"
#include "xt/xt_redist_collection_static.h"
#include "xt/xt_redist_collection.h"
#include "xt/xt_sort.h"
#include "xt_config_internal.h"
Include dependency graph for yaxt_f2c.c:

Go to the source code of this file.

Classes

struct  xt_idxlist_f
 
struct  xt_xmap_f
 
struct  xt_config_f
 
struct  xt_redist_f
 
struct  xt_redist_msg_f
 
struct  xt_request_f
 

Functions

void xt_initialize_f (MPI_Fint *comm_f)
 
MPI_Fint xt_get_default_comm_f (void)
 
void xt_abort_f (MPI_Fint comm_f, const char *msg, const char *source, int line) __attribute__((noreturn))
 
void xt_sort_int_f2c (int *a, size_t n)
 
void xt_sort_index_f2c (Xt_int *a, int n, int *idx, int reset_index)
 
void xt_sort_idxpos_f2c (idxpos_type *a, size_t n)
 
void xt_sort_int_permutation_f2c (int *a, size_t n, int *permutation)
 
Xt_idxlist xt_idxlist_f2c (struct xt_idxlist_f *p)
 
Xt_redist xt_redist_f2c (struct xt_redist_f *p)
 
Xt_config xt_config_f2c (struct xt_config_f *p)
 
Xt_request xt_request_f2c (struct xt_request_f *p)
 
Xt_xmap xt_xmap_f2c (struct xt_xmap_f *p)
 
MPI_Fint xt_idxlist_get_pack_size_f2c (struct xt_idxlist_f *idxlist, MPI_Fint comm_f)
 
static void xt_idxlist_pack_f2c (struct xt_idxlist_f *idxlist, void *buffer, MPI_Fint buffer_size, MPI_Fint *position, MPI_Fint comm_f)
 
 FCALLSCSUB5 (xt_idxlist_pack_f2c, XT_IDXLIST_PACK_F, xt_idxlist_pack_f, PVOID, PVOID, INT, PINT, INT)
 
 FCALLSCSUB5 (xt_idxlist_unpack_f2c, XT_IDXLIST_UNPACK_F, xt_idxlist_unpack_f, PVOID, PVOID, INT, PINT, INT)
 
Xt_xmap xt_xmap_dist_dir_new_f (struct xt_idxlist_f *src_idxlist_f, struct xt_idxlist_f *dst_idxlist_f, MPI_Fint comm_f)
 
Xt_xmap xt_xmap_dist_dir_intercomm_new_f (struct xt_idxlist_f *src_idxlist_f, struct xt_idxlist_f *dst_idxlist_f, MPI_Fint inter_comm_f, MPI_Fint intra_comm_f)
 
Xt_redist xt_redist_p2p_blocks_off_new_f (struct xt_xmap_f *xmap_f, int *src_block_offsets, int *src_block_sizes, int src_block_num, int *dst_block_offsets, int *dst_block_sizes, int dst_block_num, MPI_Fint datatype_f)
 
Xt_redist xt_redist_p2p_blocks_off_custom_new_f (struct xt_xmap_f *xmap_f, int *src_block_offsets, int *src_block_sizes, int src_block_num, int *dst_block_offsets, int *dst_block_sizes, int dst_block_num, MPI_Fint datatype_f, struct xt_config_f *config)
 
Xt_redist xt_redist_p2p_blocks_new_f (struct xt_xmap_f *xmap_f, int *src_block_sizes, int src_block_num, int *dst_block_sizes, int dst_block_num, MPI_Fint datatype_f)
 
Xt_redist xt_redist_p2p_blocks_custom_new_f (struct xt_xmap_f *xmap_f, int *src_block_sizes, int src_block_num, int *dst_block_sizes, int dst_block_num, MPI_Fint datatype_f, struct xt_config_f *config)
 
Xt_redist xt_redist_p2p_ext_new_c2f (Xt_xmap *xmap, int num_src_ext, struct Xt_offset_ext src_extents[], int num_dst_ext, struct Xt_offset_ext dst_extents[], MPI_Fint datatype_f)
 
Xt_redist xt_redist_p2p_ext_custom_new_c2f (Xt_xmap *xmap, int num_src_ext, struct Xt_offset_ext src_extents[], int num_dst_ext, struct Xt_offset_ext dst_extents[], MPI_Fint datatype_f, struct xt_config_f *config)
 
Xt_redist xt_redist_p2p_off_new_f (struct xt_xmap_f *xmap_f, MPI_Fint *src_offsets, MPI_Fint *dst_offsets, MPI_Fint datatype_f)
 
Xt_redist xt_redist_p2p_off_custom_new_f (struct xt_xmap_f *xmap_f, MPI_Fint *src_offsets, MPI_Fint *dst_offsets, MPI_Fint datatype_f, struct xt_config_f *config)
 
Xt_redist xt_redist_p2p_new_f (struct xt_xmap_f *xmap_f, MPI_Fint datatype_f)
 
Xt_redist xt_redist_p2p_custom_new_f (struct xt_xmap_f *xmap_f, MPI_Fint datatype_f, struct xt_config_f *config)
 
Xt_redist xt_redist_collection_static_new_f (Xt_redist *redists, MPI_Fint num_redists, MPI_Aint *src_displacements, MPI_Aint *dst_displacements, MPI_Fint comm_f)
 
Xt_redist xt_redist_collection_static_custom_new_f (Xt_redist *redists, MPI_Fint num_redists, MPI_Aint *src_displacements, MPI_Aint *dst_displacements, MPI_Fint comm_f, struct xt_config_f *config)
 
Xt_redist xt_redist_collection_new_f (Xt_redist *redists, MPI_Fint num_redists, MPI_Fint cache_size, MPI_Fint comm_f)
 
Xt_redist xt_redist_collection_custom_new_f (Xt_redist *redists, MPI_Fint num_redists, MPI_Fint cache_size, MPI_Fint comm_f, struct xt_config_f *config)
 
static void xt_slice_c_loc_f2c (void *a, void **p)
 
MPI_Fint xt_redist_get_mpi_comm_c2f (Xt_redist *redist)
 
MPI_Fint xt_redist_get_recv_MPI_Datatype_c2f (Xt_redist *redist, MPI_Fint rank)
 
MPI_Fint xt_redist_get_send_MPI_Datatype_c2f (Xt_redist *redist, MPI_Fint rank)
 
void * xt_redist_single_array_base_custom_new_c2f (int nsend, int nrecv, const struct xt_redist_msg_f *send_msgs_f, const struct xt_redist_msg_f *recv_msgs_f, MPI_Fint comm_f, struct xt_config_f *config)
 
void * xt_redist_single_array_base_new_c2f (int nsend, int nrecv, const struct xt_redist_msg_f *send_msgs_f, const struct xt_redist_msg_f *recv_msgs_f, MPI_Fint comm_f)
 
void * xt_xmap_intersection_new_f2c (int num_src_intersections, const struct Xt_com_list src_com[num_src_intersections], int num_dst_intersections, const struct Xt_com_list dst_com[num_dst_intersections], void *src_idxlist, void *dst_idxlist, MPI_Fint comm)
 
void * xt_xmap_intersection_ext_new_f2c (int num_src_intersections, const void *src_com, int num_dst_intersections, const void *dst_com, void *src_idxlist, void *dst_idxlist, MPI_Fint comm)
 
void * xt_xmap_intersection_pos_new_f2c (int num_src_msg, const void *src_com, int num_dst_msg, const void *dst_com, MPI_Fint comm)
 
int xt_com_list_contiguous (const struct Xt_com_list *p_com_a, const struct Xt_com_list *p_com_b)
 
int xt_redist_msg_contiguous (const struct xt_redist_msg_f *p_msgs_a, const struct xt_redist_msg_f *p_msgs_b)
 
void xt_mpi_comm_mark_exclusive_f2c (MPI_Fint *comm)
 

Detailed Description

Author
Jörg Behrens behre.nosp@m.ns@d.nosp@m.krz.d.nosp@m.e Moritz Hanke hanke.nosp@m.@dkr.nosp@m.z.de Thomas Jahns jahns.nosp@m.@dkr.nosp@m.z.de

Definition in file yaxt_f2c.c.

Function Documentation

◆ FCALLSCSUB5() [1/2]

FCALLSCSUB5 ( xt_idxlist_pack_f2c  ,
XT_IDXLIST_PACK_F  ,
xt_idxlist_pack_f  ,
PVOID  ,
PVOID  ,
INT  ,
PINT  ,
INT   
)

Definition at line 201 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ FCALLSCSUB5() [2/2]

FCALLSCSUB5 ( xt_idxlist_unpack_f2c  ,
XT_IDXLIST_UNPACK_F  ,
xt_idxlist_unpack_f  ,
PVOID  ,
PVOID  ,
INT  ,
PINT  ,
INT   
)

Definition at line 213 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_abort_f()

void xt_abort_f ( MPI_Fint  comm_f,
const char *  msg,
const char *  source,
int  line 
)

Definition at line 130 of file yaxt_f2c.c.

◆ xt_com_list_contiguous()

int xt_com_list_contiguous ( const struct Xt_com_list p_com_a,
const struct Xt_com_list p_com_b 
)

Definition at line 531 of file yaxt_f2c.c.

◆ xt_config_f2c()

Xt_config xt_config_f2c ( struct xt_config_f p)

Definition at line 166 of file yaxt_f2c.c.

Here is the caller graph for this function:

◆ xt_get_default_comm_f()

MPI_Fint xt_get_default_comm_f ( void  )

Definition at line 123 of file yaxt_f2c.c.

◆ xt_idxlist_f2c()

Xt_idxlist xt_idxlist_f2c ( struct xt_idxlist_f p)

Definition at line 156 of file yaxt_f2c.c.

Here is the caller graph for this function:

◆ xt_idxlist_get_pack_size_f2c()

MPI_Fint xt_idxlist_get_pack_size_f2c ( struct xt_idxlist_f idxlist,
MPI_Fint  comm_f 
)

Definition at line 182 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_idxlist_pack_f2c()

static void xt_idxlist_pack_f2c ( struct xt_idxlist_f idxlist,
void *  buffer,
MPI_Fint  buffer_size,
MPI_Fint position,
MPI_Fint  comm_f 
)
static

Definition at line 193 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_initialize_f()

void xt_initialize_f ( MPI_Fint comm_f)

Definition at line 117 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_mpi_comm_mark_exclusive_f2c()

void xt_mpi_comm_mark_exclusive_f2c ( MPI_Fint comm)

Definition at line 546 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_redist_collection_custom_new_f()

Xt_redist xt_redist_collection_custom_new_f ( Xt_redist redists,
MPI_Fint  num_redists,
MPI_Fint  cache_size,
MPI_Fint  comm_f,
struct xt_config_f config 
)

Definition at line 416 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_collection_new_f()

Xt_redist xt_redist_collection_new_f ( Xt_redist redists,
MPI_Fint  num_redists,
MPI_Fint  cache_size,
MPI_Fint  comm_f 
)

Definition at line 401 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_collection_static_custom_new_f()

Xt_redist xt_redist_collection_static_custom_new_f ( Xt_redist redists,
MPI_Fint  num_redists,
MPI_Aint *  src_displacements,
MPI_Aint *  dst_displacements,
MPI_Fint  comm_f,
struct xt_config_f config 
)

Definition at line 383 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_collection_static_new_f()

Xt_redist xt_redist_collection_static_new_f ( Xt_redist redists,
MPI_Fint  num_redists,
MPI_Aint *  src_displacements,
MPI_Aint *  dst_displacements,
MPI_Fint  comm_f 
)

Definition at line 366 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_f2c()

Xt_redist xt_redist_f2c ( struct xt_redist_f p)

Definition at line 161 of file yaxt_f2c.c.

◆ xt_redist_get_mpi_comm_c2f()

MPI_Fint xt_redist_get_mpi_comm_c2f ( Xt_redist redist)

Definition at line 440 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_redist_get_recv_MPI_Datatype_c2f()

MPI_Fint xt_redist_get_recv_MPI_Datatype_c2f ( Xt_redist redist,
MPI_Fint  rank 
)

Definition at line 447 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_redist_get_send_MPI_Datatype_c2f()

MPI_Fint xt_redist_get_send_MPI_Datatype_c2f ( Xt_redist redist,
MPI_Fint  rank 
)

Definition at line 454 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_redist_msg_contiguous()

int xt_redist_msg_contiguous ( const struct xt_redist_msg_f p_msgs_a,
const struct xt_redist_msg_f p_msgs_b 
)

Definition at line 538 of file yaxt_f2c.c.

Here is the caller graph for this function:

◆ xt_redist_p2p_blocks_custom_new_f()

Xt_redist xt_redist_p2p_blocks_custom_new_f ( struct xt_xmap_f xmap_f,
int *  src_block_sizes,
int  src_block_num,
int *  dst_block_sizes,
int  dst_block_num,
MPI_Fint  datatype_f,
struct xt_config_f config 
)

Definition at line 291 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_blocks_new_f()

Xt_redist xt_redist_p2p_blocks_new_f ( struct xt_xmap_f xmap_f,
int *  src_block_sizes,
int  src_block_num,
int *  dst_block_sizes,
int  dst_block_num,
MPI_Fint  datatype_f 
)

Definition at line 279 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_blocks_off_custom_new_f()

Xt_redist xt_redist_p2p_blocks_off_custom_new_f ( struct xt_xmap_f xmap_f,
int *  src_block_offsets,
int *  src_block_sizes,
int  src_block_num,
int *  dst_block_offsets,
int *  dst_block_sizes,
int  dst_block_num,
MPI_Fint  datatype_f,
struct xt_config_f config 
)

Definition at line 261 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_blocks_off_new_f()

Xt_redist xt_redist_p2p_blocks_off_new_f ( struct xt_xmap_f xmap_f,
int *  src_block_offsets,
int *  src_block_sizes,
int  src_block_num,
int *  dst_block_offsets,
int *  dst_block_sizes,
int  dst_block_num,
MPI_Fint  datatype_f 
)

Definition at line 242 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_custom_new_f()

Xt_redist xt_redist_p2p_custom_new_f ( struct xt_xmap_f xmap_f,
MPI_Fint  datatype_f,
struct xt_config_f config 
)

Definition at line 358 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_ext_custom_new_c2f()

Xt_redist xt_redist_p2p_ext_custom_new_c2f ( Xt_xmap xmap,
int  num_src_ext,
struct Xt_offset_ext  src_extents[],
int  num_dst_ext,
struct Xt_offset_ext  dst_extents[],
MPI_Fint  datatype_f,
struct xt_config_f config 
)

Definition at line 316 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_ext_new_c2f()

Xt_redist xt_redist_p2p_ext_new_c2f ( Xt_xmap xmap,
int  num_src_ext,
struct Xt_offset_ext  src_extents[],
int  num_dst_ext,
struct Xt_offset_ext  dst_extents[],
MPI_Fint  datatype_f 
)

Definition at line 305 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_new_f()

Xt_redist xt_redist_p2p_new_f ( struct xt_xmap_f xmap_f,
MPI_Fint  datatype_f 
)

Definition at line 351 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_off_custom_new_f()

Xt_redist xt_redist_p2p_off_custom_new_f ( struct xt_xmap_f xmap_f,
MPI_Fint src_offsets,
MPI_Fint dst_offsets,
MPI_Fint  datatype_f,
struct xt_config_f config 
)

Definition at line 339 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_p2p_off_new_f()

Xt_redist xt_redist_p2p_off_new_f ( struct xt_xmap_f xmap_f,
MPI_Fint src_offsets,
MPI_Fint dst_offsets,
MPI_Fint  datatype_f 
)

Definition at line 328 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_single_array_base_custom_new_c2f()

void* xt_redist_single_array_base_custom_new_c2f ( int  nsend,
int  nrecv,
const struct xt_redist_msg_f send_msgs_f,
const struct xt_redist_msg_f recv_msgs_f,
MPI_Fint  comm_f,
struct xt_config_f config 
)

Definition at line 461 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_redist_single_array_base_new_c2f()

void* xt_redist_single_array_base_new_c2f ( int  nsend,
int  nrecv,
const struct xt_redist_msg_f send_msgs_f,
const struct xt_redist_msg_f recv_msgs_f,
MPI_Fint  comm_f 
)

Definition at line 486 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_request_f2c()

Xt_request xt_request_f2c ( struct xt_request_f p)

Definition at line 171 of file yaxt_f2c.c.

◆ xt_slice_c_loc_f2c()

static void xt_slice_c_loc_f2c ( void *  a,
void **  p 
)
static

Definition at line 432 of file yaxt_f2c.c.

◆ xt_sort_idxpos_f2c()

void xt_sort_idxpos_f2c ( idxpos_type a,
size_t  n 
)

Definition at line 146 of file yaxt_f2c.c.

◆ xt_sort_index_f2c()

void xt_sort_index_f2c ( Xt_int a,
int  n,
int *  idx,
int  reset_index 
)

Definition at line 141 of file yaxt_f2c.c.

◆ xt_sort_int_f2c()

void xt_sort_int_f2c ( int *  a,
size_t  n 
)

Definition at line 136 of file yaxt_f2c.c.

◆ xt_sort_int_permutation_f2c()

void xt_sort_int_permutation_f2c ( int *  a,
size_t  n,
int *  permutation 
)

Definition at line 151 of file yaxt_f2c.c.

◆ xt_xmap_dist_dir_intercomm_new_f()

Xt_xmap xt_xmap_dist_dir_intercomm_new_f ( struct xt_idxlist_f src_idxlist_f,
struct xt_idxlist_f dst_idxlist_f,
MPI_Fint  inter_comm_f,
MPI_Fint  intra_comm_f 
)

Definition at line 231 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_xmap_dist_dir_new_f()

Xt_xmap xt_xmap_dist_dir_new_f ( struct xt_idxlist_f src_idxlist_f,
struct xt_idxlist_f dst_idxlist_f,
MPI_Fint  comm_f 
)

Definition at line 223 of file yaxt_f2c.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_xmap_f2c()

Xt_xmap xt_xmap_f2c ( struct xt_xmap_f p)

Definition at line 176 of file yaxt_f2c.c.

Here is the caller graph for this function:

◆ xt_xmap_intersection_ext_new_f2c()

void* xt_xmap_intersection_ext_new_f2c ( int  num_src_intersections,
const void *  src_com,
int  num_dst_intersections,
const void *  dst_com,
void *  src_idxlist,
void *  dst_idxlist,
MPI_Fint  comm 
)

Definition at line 510 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_xmap_intersection_new_f2c()

void* xt_xmap_intersection_new_f2c ( int  num_src_intersections,
const struct Xt_com_list  src_com[num_src_intersections],
int  num_dst_intersections,
const struct Xt_com_list  dst_com[num_dst_intersections],
void *  src_idxlist,
void *  dst_idxlist,
MPI_Fint  comm 
)

Definition at line 497 of file yaxt_f2c.c.

Here is the call graph for this function:

◆ xt_xmap_intersection_pos_new_f2c()

void* xt_xmap_intersection_pos_new_f2c ( int  num_src_msg,
const void *  src_com,
int  num_dst_msg,
const void *  dst_com,
MPI_Fint  comm 
)

Definition at line 521 of file yaxt_f2c.c.

Here is the call graph for this function: