Yet Another eXchange Tool 0.11.3
Loading...
Searching...
No Matches
xt_xmap_dist_dir_bucket_gen2.h File Reference
#include <stddef.h>
#include <mpi.h>
#include <xt/xt_xmap_dist_dir_bucket_gen.h>
#include <xt/xt_idxlist.h>
#include <xt/xt_config.h>
Include dependency graph for xt_xmap_dist_dir_bucket_gen2.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Xt_xmdd_bucket_gen_comms
 

Typedefs

typedef int(* Xt_xmdd_bucket_gen_init_state) (void *gen_state, Xt_idxlist src_idxlist, Xt_idxlist dst_idxlist, Xt_config config, const struct Xt_xmdd_bucket_gen_comms *comms, void *init_params)
 
typedef void(* Xt_xmdd_bucket_gen_destroy_state) (void *gen_state)
 
typedef int(* Xt_xmdd_bucket_gen_get_intersect_max_num) (void *gen_state, int type)
 
typedef struct Xt_com_list(* Xt_xmdd_bucket_gen_next) (void *gen_state, int type)
 

Enumerations

enum  Xt_dist_dir_bucket_gen_types { Xt_dist_dir_bucket_gen_type_send = 1 , Xt_dist_dir_bucket_gen_type_recv = 2 , Xt_dist_dir_bucket_gen_type_sendrecv = 3 }
 

Functions

void xt_xmdd_bucket_gen_define_interface (Xt_xmdd_bucket_gen gen, Xt_xmdd_bucket_gen_init_state init, Xt_xmdd_bucket_gen_destroy_state destroy, Xt_xmdd_bucket_gen_get_intersect_max_num get_intersect_max_num, Xt_xmdd_bucket_gen_next next, size_t gen_state_size, void *init_params)
 

Detailed Description

Typedef Documentation

◆ Xt_xmdd_bucket_gen_destroy_state

typedef void(* Xt_xmdd_bucket_gen_destroy_state) (void *gen_state)

Definition at line 82 of file xt_xmap_dist_dir_bucket_gen2.h.

◆ Xt_xmdd_bucket_gen_get_intersect_max_num

typedef int(* Xt_xmdd_bucket_gen_get_intersect_max_num) (void *gen_state, int type)

Definition at line 84 of file xt_xmap_dist_dir_bucket_gen2.h.

◆ Xt_xmdd_bucket_gen_init_state

typedef int(* Xt_xmdd_bucket_gen_init_state) (void *gen_state, Xt_idxlist src_idxlist, Xt_idxlist dst_idxlist, Xt_config config, const struct Xt_xmdd_bucket_gen_comms *comms, void *init_params)

Definition at line 74 of file xt_xmap_dist_dir_bucket_gen2.h.

◆ Xt_xmdd_bucket_gen_next

typedef struct Xt_com_list(* Xt_xmdd_bucket_gen_next) (void *gen_state, int type)

Definition at line 84 of file xt_xmap_dist_dir_bucket_gen2.h.

Enumeration Type Documentation

◆ Xt_dist_dir_bucket_gen_types

Enumerator
Xt_dist_dir_bucket_gen_type_send 
Xt_dist_dir_bucket_gen_type_recv 
Xt_dist_dir_bucket_gen_type_sendrecv 

Definition at line 63 of file xt_xmap_dist_dir_bucket_gen2.h.

Function Documentation

◆ xt_xmdd_bucket_gen_define_interface()

void xt_xmdd_bucket_gen_define_interface ( Xt_xmdd_bucket_gen gen,
Xt_xmdd_bucket_gen_init_state init,
Xt_xmdd_bucket_gen_destroy_state destroy,
Xt_xmdd_bucket_gen_get_intersect_max_num get_intersect_max_num,
Xt_xmdd_bucket_gen_next next,
size_t gen_state_size,
void * init_params )

Define interface of bucket generator

Essentially, the generator needs to be able to enumerate all buckets used to form intersections. Conversely, this also means the generator only needs to produce buckets that actually can intersect and is permitted to skip buckets that won't intersect the requested type of list.

Parameters
[in,out]gengenerator interface object
[in]initThis function is called to set up the generator state.
[in]destroyThe destroy function cleans up the generator state. Can be zero, if no cleaning is needed.
[in]nextThe next function returns the next bucket and corresponding rank (ranks can be skipped when the intersection will be empty anyway). Any previously returned buckets become invalid.
[in]get_intersect_max_numThis function returns, for a given state the maximal number of buckets that will be generated
gen_state_sizenumber of bytes to allocate for each generator state
init_paramsglobal parameters passed to each invocation of the init function

Definition at line 71 of file xt_xmap_dist_dir_bucket_gen.c.

Here is the caller graph for this function: