Dynamic Load Balance 3.6.1+32-59d1
tracing.h
Go to the documentation of this file.
1/*********************************************************************************/
2/* Copyright 2009-2024 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/********* EXTRAE EVENTS *************/
21typedef enum InstrumentEvent {
23 RUNTIME_EVENT = 800020,
27 MAX_PAR_EVENT = 800033,
30 REBIND_EVENT = 800060,
33 LOOP_STATE = 800080,
35 MONITOR_STATE = 800101,
37 MONITOR_INSTR = 800111,
39
40typedef enum InstrumentRuntimeValue {
41 /* EVENT_USER = 0, (deprecated) */
50 /* EVENT_RESET = 9, (deprecated) */
56
57typedef enum InstrumentModeValue {
62
63typedef enum InstrumentRegionState {
71
72typedef enum InstrumentAction {
77
78/*************************************/
79
80#ifdef INSTRUMENTATION_VERSION
81#include "support/options.h"
82void instrument_register_event(unsigned type, long long value, const char *value_description);
83void instrument_event(instrument_event_t type, long long value, instrument_action_t action);
84void instrument_nevent(unsigned count, instrument_event_t *types, long long *values);
85void add_event(unsigned type, long long value);
86void init_tracing(const options_t *options);
87void instrument_finalize(void);
88void instrument_print_flags(void);
89#else
90#define instrument_register_event(type, value, value_description)
91#define instrument_event(type, value, action)
92#define instrument_nevent(count, types, values)
93#define add_event(type, value)
94#define init_tracing(options)
95#define instrument_finalize()
96#define instrument_print_flags()
97#endif
98
99
100#ifdef INSTRUMENTATION_VERSION
101#define DLB_INSTR(f) f
102#else
103#define DLB_INSTR(f)
104#endif
Definition: options.h:30
instrument_runtime_value_t
Definition: tracing.h:40
@ EVENT_LEND
Definition: tracing.h:45
@ EVENT_RETURN
Definition: tracing.h:49
@ EVENT_INTO_MPI
Definition: tracing.h:43
@ EVENT_FINALIZE
Definition: tracing.h:53
@ EVENT_OUTOF_MPI
Definition: tracing.h:44
@ EVENT_ACQUIRE
Definition: tracing.h:47
@ EVENT_RECLAIM
Definition: tracing.h:46
@ EVENT_INIT
Definition: tracing.h:42
@ EVENT_BORROW
Definition: tracing.h:48
@ EVENT_BARRIER
Definition: tracing.h:51
@ EVENT_MAX_PARALLELISM
Definition: tracing.h:54
@ EVENT_POLLDROM
Definition: tracing.h:52
#define instrument_register_event(type, value, value_description)
Definition: tracing.h:90
#define instrument_finalize()
Definition: tracing.h:95
#define instrument_nevent(count, types, values)
Definition: tracing.h:92
#define add_event(type, value)
Definition: tracing.h:93
#define init_tracing(options)
Definition: tracing.h:94
#define instrument_event(type, value, action)
Definition: tracing.h:91
instrument_mode_value_t
Definition: tracing.h:57
@ EVENT_SINGLE
Definition: tracing.h:60
@ EVENT_ENABLED
Definition: tracing.h:58
@ EVENT_DISABLED
Definition: tracing.h:59
instrument_event_t
Definition: tracing.h:21
@ LOOP_STATE
Definition: tracing.h:33
@ MAX_PAR_EVENT
Definition: tracing.h:27
@ MONITOR_CYCLES
Definition: tracing.h:36
@ RUNTIME_EVENT
Definition: tracing.h:23
@ THREADS_USED_EVENT
Definition: tracing.h:22
@ MONITOR_STATE
Definition: tracing.h:35
@ REBIND_EVENT
Definition: tracing.h:30
@ MONITOR_REGION
Definition: tracing.h:34
@ IDLE_CPUS_EVENT
Definition: tracing.h:24
@ GIVE_CPUS_EVENT
Definition: tracing.h:25
@ WANT_CPUS_EVENT
Definition: tracing.h:26
@ BINDINGS_EVENT
Definition: tracing.h:31
@ MONITOR_INSTR
Definition: tracing.h:37
@ ITERATION_EVENT
Definition: tracing.h:28
@ DLB_MODE_EVENT
Definition: tracing.h:29
@ CALLBACK_EVENT
Definition: tracing.h:32
instrument_region_state_t
Definition: tracing.h:63
@ MONITOR_STATE_DISABLED
Definition: tracing.h:64
@ MONITOR_STATE_USEFUL
Definition: tracing.h:65
@ MONITOR_STATE_NOT_USEFUL_OMP_IN
Definition: tracing.h:67
@ MONITOR_STATE_NOT_USEFUL_OMP_OUT
Definition: tracing.h:68
@ MONITOR_STATE_NOT_USEFUL_MPI
Definition: tracing.h:66
@ MONITOR_STATE_NOT_USEFUL_GPU
Definition: tracing.h:69
#define instrument_print_flags()
Definition: tracing.h:96
instrument_action_t
Definition: tracing.h:72
@ EVENT_END
Definition: tracing.h:74
@ EVENT_BEGINEND
Definition: tracing.h:75
@ EVENT_BEGIN
Definition: tracing.h:73