StarPU Handbook
starpu_fxt.h
Go to the documentation of this file.
1 /* StarPU --- Runtime system for heterogeneous multicore architectures.
2  *
3  * Copyright (C) 2012,2013,2016 Inria
4  * Copyright (C) 2013 Joris Pablo
5  * Copyright (C) 2010-2015,2017,2018,2019 CNRS
6  * Copyright (C) 2010,2011,2013-2018 Université de Bordeaux
7  * Copyright (C) 2013 Thibaut Lambert
8  *
9  * StarPU is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or (at
12  * your option) any later version.
13  *
14  * StarPU is distributed in the hope that it will be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17  *
18  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
19  */
20 
21 #ifndef __STARPU_FXT_H__
22 #define __STARPU_FXT_H__
23 
24 #include <starpu_perfmodel.h>
25 
26 #ifdef __cplusplus
27 extern "C"
28 {
29 #endif
30 
36 #define STARPU_FXT_MAX_FILES 64
37 
39 {
40  char symbol[256];
41  int workerid;
42  char perfmodel_archname[256];
43  uint32_t hash;
44  size_t size;
45  float time;
46 };
47 
49 {
50  unsigned per_task_colour;
51  unsigned no_events;
52  unsigned no_counter;
53  unsigned no_bus;
54  unsigned no_flops;
55  unsigned ninputfiles;
56  unsigned no_smooth;
57  unsigned no_acquire;
58  unsigned memory_states;
59  unsigned internal;
60  unsigned label_deps;
61  char *filenames[STARPU_FXT_MAX_FILES];
62  char *out_paje_path;
63  char *distrib_time_path;
64  char *activity_path;
65  char *dag_path;
66  char *tasks_path;
67  char *data_path;
68  char *anim_path;
69  char *states_path;
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 
108 };
109 
110 void starpu_fxt_options_init(struct starpu_fxt_options *options);
111 void starpu_fxt_generate_trace(struct starpu_fxt_options *options);
112 
118 void starpu_fxt_autostart_profiling(int autostart);
119 
127 void starpu_fxt_start_profiling(void);
128 
135 void starpu_fxt_stop_profiling(void);
136 void starpu_fxt_write_data_trace(char *filename_in);
137 
141 void starpu_fxt_trace_user_event(unsigned long code);
142 
146 void starpu_fxt_trace_user_event_string(const char *s);
147 
150 #ifdef __cplusplus
151 }
152 #endif
153 
154 #endif /* __STARPU_FXT_H__ */
struct starpu_fxt_codelet_event ** dumped_codelets
Definition: starpu_fxt.h:103
char * file_prefix
Definition: starpu_fxt.h:75
void starpu_fxt_autostart_profiling(int autostart)
void starpu_fxt_stop_profiling(void)
int nworkers
Definition: starpu_fxt.h:98
void starpu_fxt_start_profiling(void)
void starpu_fxt_trace_user_event(unsigned long code)
Definition: starpu_fxt.h:38
long dumped_codelets_count
Definition: starpu_fxt.h:107
Definition: starpu_fxt.h:48
Definition: starpu_perfmodel.h:55
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:110
int file_rank
Definition: starpu_fxt.h:85
void starpu_fxt_trace_user_event_string(const char *s)
uint64_t file_offset
Definition: starpu_fxt.h:80