Yet Another eXchange Tool 0.11.1
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
xt_config_internal.h File Reference

implementation of configuration object More...

#include <stdint.h>
#include <mpi.h>
#include "core/ppm_visibility.h"
#include "xt/xt_redist.h"
#include "xt/xt_config.h"
#include "xt/sort_common.h"
#include "xt/xt_xmap_dist_dir_bucket_gen.h"
#include "xt_exchanger.h"
Include dependency graph for xt_config_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Xt_sort_algo_funcptr
 
struct  Xt_config_
 

Macros

#define XT_CONFIG_GET_FORCE_NOSORT(config)    (((config)->flags & xt_force_nosort) != UINT32_C(0))
 
#define XT_CONFIG_SET_FORCE_NOSORT(config)    do { (config)->flags |= (uint32_t)xt_force_nosort; } while (0)
 
#define XT_CONFIG_UNSET_FORCE_NOSORT(config)    do { (config)->flags &= ~(uint32_t)xt_force_nosort; } while (0)
 
#define XT_CONFIG_GET_DIST_DIR_STRIPING(config)    (((config)->flags >> xt_force_dist_dir_striping_bit_ofs) & 3U)
 
#define XT_CONFIG_SET_DIST_DIR_STRIPING(config, v)
 
#define XT_CONFIG_BUCKET_DESTROY(config, bucket_gen_state)
 

Enumerations

enum  xt_config_flags {
  exch_no_dt_dup = 1 << 0 , xt_mthread_mode_bit_ofs = 1 , xt_mthread_mode_num_bits = 1 , xt_mthread_mode_mask = 1 << xt_mthread_mode_bit_ofs ,
  xt_force_nosort_bit_ofs = xt_mthread_mode_bit_ofs + xt_mthread_mode_num_bits , xt_force_nosort = 1 << xt_force_nosort_bit_ofs , xt_force_dist_dir_striping_bit_ofs = xt_force_nosort_bit_ofs + 1 , xt_force_dist_dir_striping_num_bits = 2 ,
  xt_force_dist_dir_striping_mask = 3 << xt_force_dist_dir_striping_bit_ofs
}
 

Functions

PPM_DSO_INTERNAL void xt_config_defaults_init (void)
 
int xt_sort_algo_id_by_name (const char *name)
 
PPM_DSO_INTERNAL Xt_exchanger_new xt_config_get_exchange_new_by_comm (Xt_config config, MPI_Comm comm)
 

Variables

struct Xt_config_ xt_default_config
 

Detailed Description

implementation of configuration object

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 xt_config_internal.h.

Macro Definition Documentation

◆ XT_CONFIG_BUCKET_DESTROY

#define XT_CONFIG_BUCKET_DESTROY (   config,
  bucket_gen_state 
)
Value:
do { if ((config)->xmdd_bucket_gen->destroy) \
(config)->xmdd_bucket_gen->destroy((bucket_gen_state)); \
} while (0)

Definition at line 146 of file xt_config_internal.h.

◆ XT_CONFIG_GET_DIST_DIR_STRIPING

#define XT_CONFIG_GET_DIST_DIR_STRIPING (   config)     (((config)->flags >> xt_force_dist_dir_striping_bit_ofs) & 3U)

Definition at line 138 of file xt_config_internal.h.

◆ XT_CONFIG_GET_FORCE_NOSORT

#define XT_CONFIG_GET_FORCE_NOSORT (   config)     (((config)->flags & xt_force_nosort) != UINT32_C(0))

Definition at line 131 of file xt_config_internal.h.

◆ XT_CONFIG_SET_DIST_DIR_STRIPING

#define XT_CONFIG_SET_DIST_DIR_STRIPING (   config,
 
)
Value:
do { (config)->flags \
= ((config)->flags & ~(uint32_t)xt_force_dist_dir_striping_mask) \
| (uint32_t)((v&3) << xt_force_dist_dir_striping_bit_ofs); } \
while (0)
@ xt_force_dist_dir_striping_mask
@ xt_force_dist_dir_striping_bit_ofs

Definition at line 140 of file xt_config_internal.h.

◆ XT_CONFIG_SET_FORCE_NOSORT

#define XT_CONFIG_SET_FORCE_NOSORT (   config)     do { (config)->flags |= (uint32_t)xt_force_nosort; } while (0)

Definition at line 133 of file xt_config_internal.h.

◆ XT_CONFIG_UNSET_FORCE_NOSORT

#define XT_CONFIG_UNSET_FORCE_NOSORT (   config)     do { (config)->flags &= ~(uint32_t)xt_force_nosort; } while (0)

Definition at line 135 of file xt_config_internal.h.

Enumeration Type Documentation

◆ xt_config_flags

Enumerator
exch_no_dt_dup 
xt_mthread_mode_bit_ofs 
xt_mthread_mode_num_bits 
xt_mthread_mode_mask 
xt_force_nosort_bit_ofs 
xt_force_nosort 
xt_force_dist_dir_striping_bit_ofs 
xt_force_dist_dir_striping_num_bits 
xt_force_dist_dir_striping_mask 

Definition at line 62 of file xt_config_internal.h.

Function Documentation

◆ xt_config_defaults_init()

PPM_DSO_INTERNAL void xt_config_defaults_init ( void  )

Definition at line 443 of file xt_config.c.

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

◆ xt_config_get_exchange_new_by_comm()

PPM_DSO_INTERNAL Xt_exchanger_new xt_config_get_exchange_new_by_comm ( Xt_config  config,
MPI_Comm  comm 
)

Get appropriate exchanger constructor.

Parameters
configconfiguration object
commcommunicator to use the constructor with
Returns
configured exchanger constructor, or a fallback if the configured constructor does not apply to comm.

Definition at line 157 of file xt_config.c.

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

◆ xt_sort_algo_id_by_name()

int xt_sort_algo_id_by_name ( const char *  name)

Definition at line 214 of file xt_config.c.

Variable Documentation

◆ xt_default_config

struct Xt_config_ xt_default_config
extern

Definition at line 203 of file xt_config.c.