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-2020 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 
74  char *file_prefix;
79  uint64_t file_offset;
84  int file_rank;
85 
97  int nworkers;
98 
107 };
108 
109 void starpu_fxt_options_init(struct starpu_fxt_options *options);
110 void starpu_fxt_generate_trace(struct starpu_fxt_options *options);
111 
117 void starpu_fxt_autostart_profiling(int autostart);
118 
126 void starpu_fxt_start_profiling(void);
127 
134 void starpu_fxt_stop_profiling(void);
135 void starpu_fxt_write_data_trace(char *filename_in);
136 
140 void starpu_fxt_trace_user_event(unsigned long code);
141 
145 void starpu_fxt_trace_user_event_string(const char *s);
146 
149 #ifdef __cplusplus
150 }
151 #endif
152 
153 #endif /* __STARPU_FXT_H__ */
starpu_fxt_stop_profiling
void starpu_fxt_stop_profiling(void)
starpu_fxt_trace_user_event_string
void starpu_fxt_trace_user_event_string(const char *s)
starpu_fxt_options::dumped_codelets
struct starpu_fxt_codelet_event ** dumped_codelets
Definition: starpu_fxt.h:102
STARPU_NMAXWORKERS
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:226
starpu_perfmodel.h
starpu_fxt_options::worker_names
char worker_names[STARPU_NMAXWORKERS][256]
Definition: starpu_fxt.h:89
starpu_fxt_codelet_event
Definition: starpu_fxt.h:37
starpu_fxt_options::file_prefix
char * file_prefix
Definition: starpu_fxt.h:74
starpu_fxt_trace_user_event
void starpu_fxt_trace_user_event(unsigned long code)
starpu_fxt_start_profiling
void starpu_fxt_start_profiling(void)
starpu_fxt_options::nworkers
int nworkers
Definition: starpu_fxt.h:97
starpu_fxt_autostart_profiling
void starpu_fxt_autostart_profiling(int autostart)
starpu_perfmodel_arch
Definition: starpu_perfmodel.h:53
starpu_fxt_options
Definition: starpu_fxt.h:47
starpu_fxt_options::file_rank
int file_rank
Definition: starpu_fxt.h:84
starpu_fxt_options::dumped_codelets_count
long dumped_codelets_count
Definition: starpu_fxt.h:106
starpu_fxt_options::worker_archtypes
struct starpu_perfmodel_arch worker_archtypes[STARPU_NMAXWORKERS]
Definition: starpu_fxt.h:93
starpu_fxt_options::file_offset
uint64_t file_offset
Definition: starpu_fxt.h:79