Yet Another eXchange Tool 0.11.1
Loading...
Searching...
No Matches
Typedefs | Enumerations | Functions
xt_config.h File Reference

opaque configuration object for settings where the default needs to be overridden More...

#include "xt/xt_xmap_dist_dir_bucket_gen.h"
Include dependency graph for xt_config.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct Xt_config_Xt_config
 

Enumerations

enum  Xt_exchangers {
  xt_exchanger_irecv_send , xt_exchanger_irecv_isend , xt_exchanger_irecv_isend_packed , xt_exchanger_mix_isend_irecv ,
  xt_exchanger_neigh_alltoall , xt_exchanger_irecv_isend_ddt_packed
}
 
enum  Xt_mthread_mode { XT_MT_NONE = 0 , XT_MT_OPENMP = 1 }
 
enum  Xt_sort_algorithm { XT_QUICKSORT , XT_MERGESORT }
 

Functions

Xt_config xt_config_new (void)
 
void xt_config_delete (Xt_config config)
 
void xt_config_set_exchange_method (Xt_config config, int method)
 
int xt_config_get_exchange_method (Xt_config config)
 
int xt_exchanger_id_by_name (const char *name)
 
int xt_config_get_idxvec_autoconvert_size (Xt_config config)
 
void xt_config_set_idxvec_autoconvert_size (Xt_config config, int cnvsize)
 
int xt_config_get_redist_mthread_mode (Xt_config config)
 
void xt_config_set_redist_mthread_mode (Xt_config config, int mode)
 
int xt_config_get_sort_algorithm_id (Xt_config config)
 
void xt_config_set_sort_algorithm_by_id (Xt_config config, int algo)
 
void xt_config_set_mem_saving (Xt_config config, int memconserve)
 
int xt_config_get_mem_saving (Xt_config config)
 
Xt_xmdd_bucket_gen xt_config_get_xmdd_bucket_gen (Xt_config config)
 
void xt_config_set_xmdd_bucket_gen (Xt_config config, Xt_xmdd_bucket_gen bucket_gen_iface)
 
void xt_config_set_dist_dir_stripe_alignment (Xt_config config, int use_stripe_alignment)
 
int xt_config_get_dist_dir_stripe_alignment (Xt_config config)
 

Detailed Description

opaque configuration object for settings where the default needs to be overridden

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

Typedef Documentation

◆ Xt_config

typedef struct Xt_config_* Xt_config

Definition at line 58 of file xt_config.h.

Enumeration Type Documentation

◆ Xt_exchangers

Enumerator
xt_exchanger_irecv_send 
xt_exchanger_irecv_isend 
xt_exchanger_irecv_isend_packed 
xt_exchanger_mix_isend_irecv 
xt_exchanger_neigh_alltoall 
xt_exchanger_irecv_isend_ddt_packed 

Definition at line 75 of file xt_config.h.

◆ Xt_mthread_mode

Enumerator
XT_MT_NONE 
XT_MT_OPENMP 

Definition at line 138 of file xt_config.h.

◆ Xt_sort_algorithm

Enumerator
XT_QUICKSORT 

use default, in-place algorithm

XT_MERGESORT 

use merge sort with allocation to trade space for better worst-case behaviour

Definition at line 163 of file xt_config.h.

Function Documentation

◆ xt_config_delete()

void xt_config_delete ( Xt_config  config)

destructor of configuration objects

Parameters
[in,out]configconfiguration object to destroy

Definition at line 84 of file xt_config.c.

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

◆ xt_config_get_dist_dir_stripe_alignment()

int xt_config_get_dist_dir_stripe_alignment ( Xt_config  config)

Get distributed directory stripe alignment parameter.

Parameters
[in]configconfiguration object to query

Definition at line 379 of file xt_config.c.

◆ xt_config_get_exchange_method()

int xt_config_get_exchange_method ( Xt_config  config)

get exchanger used when the config object is passed to constructors

Parameters
[in]configconfiguration object to query
Returns
an entry from Xt_exchangers representing the method of data transfer used

Definition at line 143 of file xt_config.c.

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

◆ xt_config_get_idxvec_autoconvert_size()

int xt_config_get_idxvec_autoconvert_size ( Xt_config  config)

query size above which index lists of vector type will be converted

For many operations it makes sense to first compress large index vectors to stripes before continuing further computations.

Parameters
[in]configconfiguration object to query
Returns
size of vectors at which conversion happens

Definition at line 325 of file xt_config.c.

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

◆ xt_config_get_mem_saving()

int xt_config_get_mem_saving ( Xt_config  config)

Get memory conservation parameter.

Parameters
[in]configconfiguration object to query

Definition at line 267 of file xt_config.c.

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

◆ xt_config_get_redist_mthread_mode()

int xt_config_get_redist_mthread_mode ( Xt_config  config)

query multi-thread mode of message passing

Parameters
[in]configconfiguration object to query
Returns
a value matching one of the enum Xt_mthread_mode members above

Definition at line 338 of file xt_config.c.

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

◆ xt_config_get_sort_algorithm_id()

int xt_config_get_sort_algorithm_id ( Xt_config  config)

query sorting algorithm suite

Parameters
[in]configconfiguration object to query
Returns
a value matching one of the enum Xt_sort_algorithm members above

Definition at line 231 of file xt_config.c.

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

◆ xt_config_get_xmdd_bucket_gen()

Xt_xmdd_bucket_gen xt_config_get_xmdd_bucket_gen ( Xt_config  config)

Query configured bucket generator

Definition at line 274 of file xt_config.c.

◆ xt_config_new()

Xt_config xt_config_new ( void  )

constructor for configuration object

Returns
returns a configuration object where every setting is set to the corresponding default.

Definition at line 77 of file xt_config.c.

Here is the caller graph for this function:

◆ xt_config_set_dist_dir_stripe_alignment()

void xt_config_set_dist_dir_stripe_alignment ( Xt_config  config,
int  use_stripe_alignment 
)

Set distributed directory stripe alignment parameter.

Parameters
[in,out]configconfiguration object to modify
use_stripe_alignment0: detect element positions one by one, 1: align full stripes to form position extents 2: automatically choose element of stripe alignment

When set to 1, the computations in the distributed directory-based constructor can be much more expensive if stripes are very short. When set to 0, use very simple algorithm that positions each element individually but will use memory proportional to the local index list sizes.

By default the distributed directory switches automatically to stripe alignment if it appears profitable, which might be untrue if the number of resulting stripes/extents is rather high.

Definition at line 369 of file xt_config.c.

Here is the caller graph for this function:

◆ xt_config_set_exchange_method()

void xt_config_set_exchange_method ( Xt_config  config,
int  method 
)

set exchanger to use when the config object is passed to constructors

Parameters
[in,out]configconfiguration object to modify
methodan entry from enum Xt_exchangers to signify the desired exchanger for data transfers

Definition at line 295 of file xt_config.c.

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

◆ xt_config_set_idxvec_autoconvert_size()

void xt_config_set_idxvec_autoconvert_size ( Xt_config  config,
int  cnvsize 
)

set size above which index lists of vector type will be converted

For many operations it makes sense to first compress large index vectors to stripes before continuing further computations. This function sets the size of vectors at which this conversion happens for operations that are called with the configuration object as parameter.

Parameters
[in,out]configconfiguration object to modify
[in]cnvsizesize of vectors at which conversion happens

Definition at line 331 of file xt_config.c.

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

◆ xt_config_set_mem_saving()

void xt_config_set_mem_saving ( Xt_config  config,
int  memconserve 
)

Set memory conservation parameter.

Parameters
[in,out]configconfiguration object to modify
memconserveswitch on methods of memory saving currently supported values: 0 and 1

When set to 1, operations parameterized by config will aggressively try to trade memory savings for higher computational cost.

Currently, by not sorting index lists used in xmap construction.

When set to 0, use default trade-offs for space vs. time complexity.

Definition at line 258 of file xt_config.c.

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

◆ xt_config_set_redist_mthread_mode()

void xt_config_set_redist_mthread_mode ( Xt_config  config,
int  mode 
)

set multi-thread mode of message passing

Parameters
[in,out]configconfiguration object to modify
[in]modeone of the enum Xt_mthread_mode members above

Definition at line 345 of file xt_config.c.

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

◆ xt_config_set_sort_algorithm_by_id()

void xt_config_set_sort_algorithm_by_id ( Xt_config  config,
int  algo 
)

set sorting algorithm suite

Parameters
[in,out]configconfiguration object to modify
[in]algoone of the enum Xt_sort_algorithm members above

Definition at line 244 of file xt_config.c.

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

◆ xt_config_set_xmdd_bucket_gen()

void xt_config_set_xmdd_bucket_gen ( Xt_config  config,
Xt_xmdd_bucket_gen  bucket_gen_iface 
)

Change generator for buckets in distributed directory The default is a generator that tiles the range of indices of all index lists involved in xmap creation in 1D fashion with stripes.

Definition at line 280 of file xt_config.c.

◆ xt_exchanger_id_by_name()

int xt_exchanger_id_by_name ( const char *  name)

map exchanger name string to method id from Xt_exchangers

Parameters
[in]namestring that is supposed to match the part of the corresponding enum after xt_exchanger_
Returns
for the string "irecv_send", the value of xt_exchanger_irecv_send will be returned, for strings matching no known exchanger, -1 will be returned

Definition at line 125 of file xt_config.c.

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