StarPU Internal Handbook
knobs.h File Reference
#include <stdint.h>
#include <starpu.h>
#include <common/config.h>

Go to the source code of this file.

Data Structures

struct  starpu_perf_counter
 
struct  starpu_perf_counter_set
 
union  starpu_perf_counter_value
 
struct  starpu_perf_counter_listener
 
struct  starpu_perf_counter_sample
 
struct  starpu_perf_counter_sample_cl_values
 
struct  starpu_perf_knob_value
 
struct  starpu_perf_knob_group
 
struct  starpu_perf_knob
 
struct  starpu_perf_counter_sample_cl_values.task
 
union  starpu_perf_knob_value.__unnamed3__
 

Macros

#define STARPU_ASSERT_PERF_COUNTER_SCOPE_DEFINED(t)
 
#define STARPU_ASSERT_PERF_COUNTER_TYPE_DEFINED(t)
 
#define _STARPU_PERF_COUNTER_ID_SCOPE_BITS
 
#define __STARPU_PERF_COUNTER_UPDATE_32BIT(OPNAME, OP, TYPENAME, TYPE)
 
#define __STARPU_PERF_COUNTER_UPDATE_64BIT(OPNAME, OP, TYPENAME, TYPE)
 
#define __STARPU_PERF_COUNTER_UPDATE_ACC_FLOAT(TYPENAME, TYPE)
 
#define STARPU_PERF_COUNTER_ADD64(ptr, val)
 
#define __STARPU_PERF_COUNTER_SAMPLE_SET_TYPED_VALUE(STRING, TYPE)
 
#define __STARPU_PERF_COUNTER_REG(PREFIX, SCOPE, CTR, TYPESTRING, HELP)
 
#define STARPU_ASSERT_PERF_KNOB_SCOPE_DEFINED(t)
 
#define STARPU_ASSERT_PERF_KNOB_TYPE_DEFINED(t)
 
#define _STARPU_PERF_KNOBS_ID_SCOPE_BITS
 
#define __STARPU_PERF_KNOB_REG(PREFIX, SCOPE, CTR, TYPESTRING, HELP)
 

Typedefs

typedef int32_t starpu_perf_counter_int64_t
 
typedef float starpu_perf_counter_double
 
typedef void(* starpu_perf_counter_sample_updater) (struct starpu_perf_counter_sample *sample, void *context)
 

Functions

 __STARPU_PERF_COUNTER_UPDATE_32BIT (max,>=, int32, int32_t)
 
 __STARPU_PERF_COUNTER_UPDATE_32BIT (max,>=, float, float)
 
 __STARPU_PERF_COUNTER_UPDATE_64BIT (max,>=, int64, starpu_perf_counter_int64_t)
 
 __STARPU_PERF_COUNTER_UPDATE_64BIT (max,>=, double, starpu_perf_counter_double)
 
 __STARPU_PERF_COUNTER_UPDATE_32BIT (min,<=, int32, int32_t)
 
 __STARPU_PERF_COUNTER_UPDATE_32BIT (min,<=, float, float)
 
 __STARPU_PERF_COUNTER_UPDATE_64BIT (min,<=, int64, starpu_perf_counter_int64_t)
 
 __STARPU_PERF_COUNTER_UPDATE_64BIT (min,<=, double, starpu_perf_counter_double)
 
 __STARPU_PERF_COUNTER_UPDATE_ACC_FLOAT (float, float)
 
 __STARPU_PERF_COUNTER_UPDATE_ACC_FLOAT (double, starpu_perf_counter_double)
 
static enum starpu_perf_counter_scope _starpu_perf_counter_id_get_scope (const int counter_id)
 
static int _starpu_perf_counter_id_get_index (const int counter_id)
 
static int _starpu_perf_counter_id_build (const enum starpu_perf_counter_scope scope, const int index)
 
void _starpu_perf_counter_sample_init (struct starpu_perf_counter_sample *sample, enum starpu_perf_counter_scope scope)
 
void _starpu_perf_counter_sample_exit (struct starpu_perf_counter_sample *sample)
 
void _starpu_perf_counter_init (struct _starpu_machine_config *pconfig)
 
void _starpu_perf_counter_exit (void)
 
int _starpu_perf_counter_register (enum starpu_perf_counter_scope scope, const char *name, enum starpu_perf_counter_type type, const char *help)
 
void _starpu_perf_counter_unregister_all_scopes (void)
 
void _starpu_perf_counter_register_updater (enum starpu_perf_counter_scope scope, void(*updater)(struct starpu_perf_counter_sample *sample, void *context))
 
void _starpu_perf_counter_update_global_sample (void)
 
void _starpu_perf_counter_update_per_worker_sample (unsigned workerid)
 
void _starpu_perf_counter_update_per_codelet_sample (struct starpu_codelet *cl)
 
 __STARPU_PERF_COUNTER_SAMPLE_SET_TYPED_VALUE (int32, int32_t)
 
 __STARPU_PERF_COUNTER_SAMPLE_SET_TYPED_VALUE (int64, starpu_perf_counter_int64_t)
 
 __STARPU_PERF_COUNTER_SAMPLE_SET_TYPED_VALUE (float, float)
 
 __STARPU_PERF_COUNTER_SAMPLE_SET_TYPED_VALUE (double, starpu_perf_counter_double)
 
void _starpu__task_c__register_counters (void)
 
static int _starpu_perf_knob_id_get_scope (const int knob_id)
 
static int _starpu_perf_knob_id_get_index (const int knob_id)
 
static int _starpu_perf_knob_id_build (const enum starpu_perf_knob_scope scope, const int index)
 
void _starpu_perf_knob_init (void)
 
void _starpu_perf_knob_exit (void)
 
struct starpu_perf_knob_group_starpu_perf_knob_group_register (enum starpu_perf_knob_scope scope, void(*set_func)(const struct starpu_perf_knob *const knob, void *context, const struct starpu_perf_knob_value *const value), void(*get_func)(const struct starpu_perf_knob *const knob, void *context, struct starpu_perf_knob_value *const value))
 
void _starpu_perf_knob_group_unregister (struct starpu_perf_knob_group *group)
 
int _starpu_perf_knob_register (struct starpu_perf_knob_group *group, const char *name, enum starpu_perf_knob_type type, const char *help)
 
void _starpu_perf_knob_unregister_all_scopes (void)
 
void _starpu__workers_c__register_knobs (void)
 
void _starpu__task_c__register_knobs (void)
 
void _starpu__dmda_c__register_knobs (void)
 
void _starpu__workers_c__unregister_knobs (void)
 
void _starpu__task_c__unregister_knobs (void)
 
void _starpu__dmda_c__unregister_knobs (void)
 

Variables

starpu_perf_counter_int64_t _starpu_task__g_total_submitted__value
 
starpu_perf_counter_int64_t _starpu_task__g_peak_submitted__value
 
starpu_perf_counter_int64_t _starpu_task__g_current_submitted__value
 
starpu_perf_counter_int64_t _starpu_task__g_peak_ready__value
 
starpu_perf_counter_int64_t _starpu_task__g_current_ready__value
 

Data Structure Documentation

◆ starpu_perf_counter

struct starpu_perf_counter
Data Fields
int id
const char * name
const char * help
enum starpu_perf_counter_type type

◆ starpu_perf_counter_set

struct starpu_perf_counter_set
Data Fields
enum starpu_perf_counter_scope scope
int size
int * index_array

◆ starpu_perf_counter_value

union starpu_perf_counter_value
Data Fields
int32_t int32_val
starpu_perf_counter_int64_t int64_val
float float_val
starpu_perf_counter_double double_val

◆ starpu_perf_counter_sample

struct starpu_perf_counter_sample
Data Fields
enum starpu_perf_counter_scope scope
struct starpu_perf_counter_listener * listener
union starpu_perf_counter_value * value_array
struct _starpu_spinlock lock

◆ starpu_perf_counter_sample_cl_values

struct starpu_perf_counter_sample_cl_values

◆ starpu_perf_knob_value

struct starpu_perf_knob_value
Data Fields
enum starpu_perf_knob_type type
union starpu_perf_knob_value.__unnamed3__ __unnamed__

◆ starpu_perf_knob

struct starpu_perf_knob
Data Fields
int id
int id_in_group
const char * name
const char * help
enum starpu_perf_knob_type type
struct starpu_perf_knob_group * group

◆ starpu_perf_counter_sample_cl_values.task

struct starpu_perf_counter_sample_cl_values.task
Data Fields
starpu_perf_counter_int64_t total_submitted
starpu_perf_counter_int64_t peak_submitted
starpu_perf_counter_int64_t current_submitted
starpu_perf_counter_int64_t peak_ready
starpu_perf_counter_int64_t current_ready
starpu_perf_counter_int64_t total_executed
starpu_perf_counter_double cumul_execution_time

◆ starpu_perf_knob_value.__unnamed3__

union starpu_perf_knob_value.__unnamed3__
Data Fields
int32_t val_int32_t
starpu_perf_counter_int64_t val_int64_t
float val_float
starpu_perf_counter_double val_double

Macro Definition Documentation

◆ STARPU_ASSERT_PERF_COUNTER_SCOPE_DEFINED

#define STARPU_ASSERT_PERF_COUNTER_SCOPE_DEFINED (   t)

Performance Monitoring

◆ __STARPU_PERF_COUNTER_UPDATE_ACC_FLOAT

#define __STARPU_PERF_COUNTER_UPDATE_ACC_FLOAT (   TYPENAME,
  TYPE 
)

Floating point atomic accumulate