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 
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 
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 
98  int nworkers;
99 
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 
130 
138 void starpu_fxt_write_data_trace(char *filename_in);
139 
144 
148 void starpu_fxt_trace_user_event(unsigned long code);
149 
154 
157 #ifdef __cplusplus
158 }
159 #endif
160 
161 #endif /* __STARPU_FXT_H__ */
char * file_prefix
Definition: starpu_fxt.h:75
int nworkers
Definition: starpu_fxt.h:98
uint64_t file_offset
Definition: starpu_fxt.h:80
char worker_names[STARPU_NMAXWORKERS][256]
Definition: starpu_fxt.h:90
struct starpu_perfmodel_arch worker_archtypes[STARPU_NMAXWORKERS]
Definition: starpu_fxt.h:94
long dumped_codelets_count
Definition: starpu_fxt.h:107
int file_rank
Definition: starpu_fxt.h:85
struct starpu_fxt_codelet_event ** dumped_codelets
Definition: starpu_fxt.h:103
void starpu_fxt_trace_user_event(unsigned long code)
void starpu_fxt_stop_profiling(void)
void starpu_fxt_start_profiling(void)
void starpu_fxt_autostart_profiling(int autostart)
int starpu_fxt_is_enabled()
void starpu_fxt_trace_user_event_string(const char *s)
Definition: starpu_fxt.h:38
Definition: starpu_fxt.h:48
Definition: starpu_perfmodel.h:54
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:236