StarPU Handbook

Data Structures | Macros | Functions
FxT Support

## Data Structures
struct | starpu_fxt_codelet_event
struct | starpu_fxt_options

## Macros
#define | STARPU_FXT_MAX_FILES

## Functions
void | starpu_fxt_options_init (struct starpu_fxt_options *options)
void | starpu_fxt_options_shutdown (struct starpu_fxt_options *options)
void | starpu_fxt_options_set_dir (struct starpu_fxt_options *options)
void | starpu_fxt_generate_trace (struct starpu_fxt_options *options)
void | starpu_fxt_autostart_profiling (int autostart)
void | starpu_fxt_start_profiling (void)
void | starpu_fxt_stop_profiling (void)
void | starpu_fxt_write_data_trace (char *filename_in)
int | starpu_fxt_is_enabled ()
void | starpu_fxt_trace_user_event (unsigned long code)
void | starpu_fxt_trace_user_event_string (const char *s)

## Detailed Description

## Data Structure Documentation

## ◆ starpu_fxt_codelet_event

struct starpu_fxt_codelet_event

Data Fields
char | symbol[256] |
int | workerid |
char | perfmodel_archname[256] |
uint32_t | hash |
size_t | size |
float | time |

## ◆ starpu_fxt_options

struct starpu_fxt_options

Data Fields
unsigned | per_task_colour |
unsigned | no_events |
unsigned | no_counter |
unsigned | no_bus |
unsigned | no_flops |
unsigned | ninputfiles |
unsigned | no_smooth |
unsigned | no_acquire |
unsigned | memory_states |
unsigned | internal |
unsigned | label_deps |
char * | filenames[STARPU_FXT_MAX_FILES] |
char * | out_paje_path |
char * | distrib_time_path |
char * | activity_path |
char * | dag_path |
char * | tasks_path |
char * | data_path |
char * | anim_path |
char * | states_path |
char * | dir |
char * | file_prefix | In case we are going to gather multiple traces (e.g in the case of MPI processes), we may need to prefix the name of the containers.
uint64_t | file_offset | In case we are going to gather multiple traces (e.g in the case of MPI processes), we may need to prefix the name of the containers.
int | file_rank | In case we are going to gather multiple traces (e.g in the case of MPI processes), we may need to prefix the name of the containers.
char | worker_names[STARPU_NMAXWORKERS][256] | Output parameters
struct starpu_perfmodel_arch | worker_archtypes[STARPU_NMAXWORKERS] | Output parameters
int | nworkers | Output parameters
struct starpu_fxt_codelet_event ** | dumped_codelets | In case we want to dump the list of codelets to an external tool
long | dumped_codelets_count | In case we want to dump the list of codelets to an external tool

## Function Documentation

## ◆ starpu_fxt_autostart_profiling()

void starpu_fxt_autostart_profiling | ( | int | autostart | ) |

Determine whether profiling should be started by starpu_init(), or only when starpu_fxt_start_profiling() is called. `autostart` should be 1 to do so, or 0 to prevent it.

## ◆ starpu_fxt_start_profiling()

void starpu_fxt_start_profiling | ( | void |  | ) |

Start recording the trace. The trace is by default started from starpu_init() call, but can be paused by using starpu_fxt_stop_profiling(), in which case starpu_fxt_start_profiling() should be called to resume recording events.

## ◆ starpu_fxt_stop_profiling()

void starpu_fxt_stop_profiling | ( | void |  | ) |

Stop recording the trace. The trace is by default stopped when calling starpu_shutdown(). starpu_fxt_stop_profiling() can however be used to stop it earlier. starpu_fxt_start_profiling() can then be called to start recording it again, etc.

## ◆ starpu_fxt_is_enabled()

int starpu_fxt_is_enabled | ( |  | ) |

Wrapper to get value of env variable STARPU_FXT_TRACE

## ◆ starpu_fxt_trace_user_event()

void starpu_fxt_trace_user_event | ( | unsigned long | code | ) |

Add an event in the execution trace if FxT is enabled.

## ◆ starpu_fxt_trace_user_event_string()

void starpu_fxt_trace_user_event_string | ( | const char * | s | ) |

Add a string event in the execution trace if FxT is enabled.