/*
 * This file is part of the StarPU Handbook.
 * Copyright (C) 2009--2011  Universit@'e de Bordeaux 1
 * Copyright (C) 2010, 2011, 2012, 2013, 2014  Centre National de la Recherche Scientifique
 * Copyright (C) 2011, 2012 Institut National de Recherche en Informatique et Automatique
 * See the file version.doxy for copying conditions.
 */

/*! \defgroup API_FxT_Support FxT Support

\struct starpu_fxt_codelet_event
todo
\ingroup API_FxT_Support
\var starpu_fxt_codelet_event::symbol[256
name of the codelet
\var starpu_fxt_codelet_event::workerid
\var starpu_fxt_codelet_event::archtype
\var starpu_fxt_codelet_event::hash
\var starpu_fxt_codelet_event::size
\var starpu_fxt_codelet_event::time

\struct starpu_fxt_options
todo
\ingroup API_FxT_Support
\var starpu_fxt_options::per_task_colour
\var starpu_fxt_options::no_counter
\var starpu_fxt_options::no_bus
\var starpu_fxt_options::ninputfiles
\var starpu_fxt_options::filenames
\var starpu_fxt_options::out_paje_path
\var starpu_fxt_options::distrib_time_path
\var starpu_fxt_options::activity_path
\var starpu_fxt_options::dag_path

\var starpu_fxt_options::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.
\var starpu_fxt_options::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.
\var starpu_fxt_options::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.

\var starpu_fxt_options::worker_names
Output parameters
\var starpu_fxt_options::worker_archtypes
Output parameters
\var starpu_fxt_options::nworkers
Output parameters

\var starpu_fxt_options::dumped_codelets
In case we want to dump the list of codelets to an external tool
\var starpu_fxt_options::dumped_codelets_count
In case we want to dump the list of codelets to an external tool

\fn void starpu_fxt_options_init(struct starpu_fxt_options *options)
\ingroup API_FxT_Support
todo

\fn void starpu_fxt_generate_trace(struct starpu_fxt_options *options)
\ingroup API_FxT_Support
todo

\fn void starpu_fxt_start_profiling(void)
\ingroup API_FxT_Support
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.

\fn void starpu_fxt_stop_profiling(void)
\ingroup API_FxT_Support
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.

\fn void starpu_fxt_write_data_trace(char *filename_in)
\ingroup API_FxT_Support
todo

\fn void starpu_fxt_trace_user_event(unsigned long code)
\ingroup API_FxT_Support
Add an event in the execution trace if FxT is enabled.

*/

