Dynamic Load Balance 3.6.1+32-59d1
options.h
Go to the documentation of this file.
1/*********************************************************************************/
2/* Copyright 2009-2026 Barcelona Supercomputing Center */
3/* */
4/* This file is part of the DLB library. */
5/* */
6/* DLB is free software: you can redistribute it and/or modify */
7/* it under the terms of the GNU Lesser General Public License as published by */
8/* the Free Software Foundation, either version 3 of the License, or */
9/* (at your option) any later version. */
10/* */
11/* DLB is distributed in the hope that it will be useful, */
12/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
13/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
14/* GNU Lesser General Public License for more details. */
15/* */
16/* You should have received a copy of the GNU Lesser General Public License */
17/* along with DLB. If not, see <https://www.gnu.org/licenses/>. */
18/*********************************************************************************/
19
20#ifndef OPTIONS_H
21#define OPTIONS_H
22
23#include "support/types.h"
24#include <sched.h>
25#include <sys/types.h>
26
27enum { MAX_OPTION_LENGTH = 64 };
28enum { MAX_DESCRIPTION = 1024 };
29
30typedef struct Options {
31 /* general options */
32 bool lewi;
33 bool drom;
34 bool barrier;
35 bool ompt;
37 /* verbose */
38 bool quiet;
39 bool silent;
42 /* instrument */
46 /* lewi */
53 char lewi_barrier_select[MAX_OPTION_LENGTH];
58 /* misc */
59 char shm_key[MAX_OPTION_LENGTH];
64 /* talp */
70 char talp_region_select[MAX_OPTION_LENGTH];
71 char talp_gpu_backend[MAX_OPTION_LENGTH];
73 /* barrier */
75 /* deprecated, but still parsed, options */
78 char deprecated_plugins[MAX_OPTION_LENGTH];
79} options_t;
80
81void options_init(options_t *options, const char *dlb_args);
82void options_finalize(options_t *options);
83void options_parse_entry(const char *var_name, void *option);
84int options_set_variable(options_t *options, const char *var_name, const char *value);
85int options_get_variable(const options_t *options, const char *var_name, char *value);
86void options_print_variables(const options_t *options, bool print_extended);
87void options_print_lewi_flags(const options_t *options);
88
89#endif /* OPTIONS_H */
int options_set_variable(options_t *options, const char *var_name, const char *value)
Definition: options.c:1140
int options_get_variable(const options_t *options, const char *var_name, char *value)
Definition: options.c:1157
void options_finalize(options_t *options)
Definition: options.c:1066
@ MAX_OPTION_LENGTH
Definition: options.h:27
void options_init(options_t *options, const char *dlb_args)
Definition: options.c:904
void options_parse_entry(const char *var_name, void *option)
Definition: options.c:1074
void options_print_variables(const options_t *options, bool print_extended)
Definition: options.c:1171
@ MAX_DESCRIPTION
Definition: options.h:28
void options_print_lewi_flags(const options_t *options)
Definition: options.c:1330
Definition: options.h:30
int shm_size_multiplier
Definition: options.h:60
bool lewi_respect_cpuset
Definition: options.h:48
bool lewi_greedy
Definition: options.h:49
int instrument_extrae_nthreads
Definition: options.h:45
debug_opts_t debug_opts
Definition: options.h:62
bool talp_external_profiler
Definition: options.h:66
bool deprecated_talp_openmp
Definition: options.h:76
verbose_fmt_t verbose_fmt
Definition: options.h:41
bool deprecated_talp_papi
Definition: options.h:77
pid_t preinit_pid
Definition: options.h:61
interaction_mode_t mode
Definition: options.h:36
talp_model_t talp_model
Definition: options.h:72
omptool_opts_t lewi_ompt
Definition: options.h:55
int barrier_id
Definition: options.h:74
talp_component_t talp
Definition: options.h:65
instrument_items_t instrument
Definition: options.h:43
omptm_version_t omptm_version
Definition: options.h:63
bool lewi_warmup
Definition: options.h:50
bool lewi
Definition: options.h:32
bool lewi_barrier
Definition: options.h:52
bool barrier
Definition: options.h:34
bool instrument_counters
Definition: options.h:44
lewi_affinity_t lewi_affinity
Definition: options.h:54
bool talp_partial_output
Definition: options.h:67
verbose_opts_t verbose
Definition: options.h:40
mpi_set_t lewi_mpi_calls
Definition: options.h:51
int lewi_color
Definition: options.h:57
bool silent
Definition: options.h:39
int lewi_max_parallelism
Definition: options.h:56
bool drom
Definition: options.h:33
bool quiet
Definition: options.h:38
bool lewi_keep_cpu_on_blocking_call
Definition: options.h:47
char * talp_output_file
Definition: options.h:69
talp_summary_t talp_summary
Definition: options.h:68
bool ompt
Definition: options.h:35
struct Options options_t
Definition: talp_openmp.h:27
verbose_fmt_t
Definition: types.h:60
omptool_opts_t
Definition: types.h:142
talp_summary_t
Definition: types.h:100
instrument_items_t
Definition: types.h:70
lewi_affinity_t
Definition: types.h:91
omptm_version_t
Definition: types.h:150
debug_opts_t
Definition: types.h:83
mpi_set_t
Definition: types.h:135
verbose_opts_t
Definition: types.h:41
talp_model_t
Definition: types.h:109
talp_component_t
Definition: types.h:114
interaction_mode_t
Definition: types.h:130