StarPU Handbook

starpu_fxt.h
Go to the documentation of this file.
1/* StarPU --- Runtime system for heterogeneous multicore architectures.
2 *
3 * Copyright (C) 2010-2021 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
4 * Copyright (C) 2013 Joris Pablo
5 * Copyright (C) 2013 Thibaut Lambert
6 * Copyright (C) 2020 Federal University of Rio Grande do Sul (UFRGS)
7 *
8 * StarPU is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU Lesser General Public License as published by
10 * the Free Software Foundation; either version 2.1 of the License, or (at
11 * your option) any later version.
12 *
13 * StarPU is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 *
17 * See the GNU Lesser General Public License in COPYING.LGPL for more details.
18 */
19
20#ifndef __STARPU_FXT_H__
21#define __STARPU_FXT_H__
22
23#include <starpu_perfmodel.h>
24
25#ifdef __cplusplus
26 extern "C"
27{
28#endif
29
35#define STARPU_FXT_MAX_FILES 64
36
37 struct starpu_fxt_codelet_event
38{
39 char symbol[256];
40 int workerid;
41 char perfmodel_archname[256];
42 uint32_t hash;
43 size_t size;
44 float time;
45};
46
47 struct starpu_fxt_options
48{
49 unsigned per_task_colour;
50 unsigned no_events;
51 unsigned no_counter;
52 unsigned no_bus;
53 unsigned no_flops;
54 unsigned ninputfiles;
55 unsigned no_smooth;
56 unsigned no_acquire;
57 unsigned memory_states;
58 unsigned internal;
59 unsigned label_deps;
60 char *filenames[STARPU_FXT_MAX_FILES];
61 char *out_paje_path;
62 char *distrib_time_path;
63 char *activity_path;
64 char *dag_path;
65 char *tasks_path;
66 char *data_path;
67 char *anim_path;
68 char *states_path;
69 char *dir;
70
75 char *file_prefix;
80 uint64_t file_offset;
85 int file_rank;
86
90 char worker_names[STARPU_NMAXWORKERS][256];
94 struct starpu_perfmodel_arch worker_archtypes[STARPU_NMAXWORKERS];
98 int nworkers;
99
103 struct starpu_fxt_codelet_event **dumped_codelets;
107 long dumped_codelets_count;
108};
109
110 void starpu_fxt_options_init(struct starpu_fxt_options *options);
111 void starpu_fxt_options_shutdown(struct starpu_fxt_options *options);
112 void starpu_fxt_options_set_dir(struct starpu_fxt_options *options);
113 void starpu_fxt_generate_trace(struct starpu_fxt_options *options);
114
120 void starpu_fxt_autostart_profiling(int autostart);
121
129 void starpu_fxt_start_profiling(void);
130
137 void starpu_fxt_stop_profiling(void);
138 void starpu_fxt_write_data_trace(char *filename_in);
139
143 int starpu_fxt_is_enabled();
144
148 void starpu_fxt_trace_user_event(unsigned long code);
149
153 void starpu_fxt_trace_user_event_string(const char *s);
154
157#ifdef __cplusplus
158}
159#endif
160
161#endif /* __STARPU_FXT_H__ */
starpu_fxt_options::file_prefix
char * file_prefix
Definition: starpu_fxt.h:75
starpu_fxt_options::nworkers
int nworkers
Definition: starpu_fxt.h:98
starpu_fxt_options::file_offset
uint64_t file_offset
Definition: starpu_fxt.h:80
starpu_fxt_options::worker_names
char worker_names[STARPU_NMAXWORKERS][256]
Definition: starpu_fxt.h:90
starpu_fxt_options::worker_archtypes
struct starpu_perfmodel_arch worker_archtypes[STARPU_NMAXWORKERS]
Definition: starpu_fxt.h:94
starpu_fxt_options::dumped_codelets_count
long dumped_codelets_count
Definition: starpu_fxt.h:107
starpu_fxt_options::file_rank
int file_rank
Definition: starpu_fxt.h:85
starpu_fxt_options::dumped_codelets
struct starpu_fxt_codelet_event ** dumped_codelets
Definition: starpu_fxt.h:103
starpu_fxt_trace_user_event
void starpu_fxt_trace_user_event(unsigned long code)
starpu_fxt_stop_profiling
void starpu_fxt_stop_profiling(void)
starpu_fxt_start_profiling
void starpu_fxt_start_profiling(void)
starpu_fxt_autostart_profiling
void starpu_fxt_autostart_profiling(int autostart)
starpu_fxt_is_enabled
int starpu_fxt_is_enabled()
starpu_fxt_trace_user_event_string
void starpu_fxt_trace_user_event_string(const char *s)
starpu_fxt_codelet_event
Definition: starpu_fxt.h:38
starpu_fxt_options
Definition: starpu_fxt.h:48
starpu_perfmodel_arch
Definition: starpu_perfmodel.h:54
STARPU_NMAXWORKERS
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:236
starpu_perfmodel.h