#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>
Go to the source code of this file.
◆ Xt_xmdd_bucket_gen_destroy_state
typedef void(* Xt_xmdd_bucket_gen_destroy_state) (void *gen_state) |
◆ Xt_xmdd_bucket_gen_get_intersect_max_num
typedef int(* Xt_xmdd_bucket_gen_get_intersect_max_num) (void *gen_state, int type) |
◆ Xt_xmdd_bucket_gen_init_state
◆ Xt_xmdd_bucket_gen_next
typedef struct Xt_com_list(* Xt_xmdd_bucket_gen_next) (void *gen_state, int type) |
◆ 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.
◆ xt_xmdd_bucket_gen_define_interface()
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] | gen | generator interface object |
[in] | init | This function is called to set up the generator state. |
[in] | destroy | The destroy function cleans up the generator state. Can be zero, if no cleaning is needed. |
[in] | next | The 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_num | This function returns, for a given state the maximal number of buckets that will be generated |
| gen_state_size | number of bytes to allocate for each generator state |
| init_params | global parameters passed to each invocation of the init function |
Definition at line 71 of file xt_xmap_dist_dir_bucket_gen.c.