StarPU Handbook - StarPU Language Bindings
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_config.h>
24 #include <starpu_perfmodel.h>
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
36 {
37  char symbol[2048];
38  int workerid;
39  char perfmodel_archname[256];
40  uint32_t hash;
41  size_t size;
42  float time;
43 };
44 
47 {
48  uint64_t local_time_start;
49  int64_t offset_start;
50  uint64_t local_time_end;
51  int64_t offset_end;
54 };
55 
57 {
58  unsigned per_task_colour;
59  unsigned no_events;
60  unsigned no_counter;
61  unsigned no_bus;
62  unsigned no_flops;
63  unsigned ninputfiles;
64  unsigned no_smooth;
65  unsigned no_acquire;
66  unsigned memory_states;
67  unsigned internal;
68  unsigned label_deps;
69  char *filenames[STARPU_FXT_MAX_FILES];
70  char *out_paje_path;
71  char *distrib_time_path;
72  char *activity_path;
73  char *sched_tasks_path;
74  char *dag_path;
75  char *tasks_path;
76  char *data_path;
77  char *papi_path;
78  char *comms_path;
79  char *number_events_path;
80  char *anim_path;
81  char *states_path;
82  char *dir;
83  char worker_names[STARPU_NMAXWORKERS][256];
84  int nworkers;
85  struct starpu_perfmodel_arch worker_archtypes[STARPU_NMAXWORKERS];
86 
91  char *file_prefix;
92 
98 
104 
109 
115 };
116 
117 void starpu_fxt_options_init(struct starpu_fxt_options *options);
118 void starpu_fxt_options_shutdown(struct starpu_fxt_options *options);
119 void starpu_fxt_generate_trace(struct starpu_fxt_options *options);
120 
128 void starpu_fxt_autostart_profiling(int autostart);
129 
139 
148 
149 void starpu_fxt_write_data_trace(char *filename_in);
150 void starpu_fxt_write_data_trace_in_dir(char *filename_in, char *dir);
151 
156 
161 void starpu_fxt_trace_user_event(unsigned long code);
162 
168 
171 #ifdef __cplusplus
172 }
173 #endif
174 
175 #endif /* __STARPU_FXT_H__ */
int64_t offset_start
Definition: starpu_fxt.h:49
char * file_prefix
Definition: starpu_fxt.h:91
int64_t offset_end
Definition: starpu_fxt.h:51
struct starpu_fxt_mpi_offset file_offset
Definition: starpu_fxt.h:97
long dumped_codelets_count
Definition: starpu_fxt.h:114
uint64_t local_time_end
Definition: starpu_fxt.h:50
int nb_barriers
Definition: starpu_fxt.h:52
int file_rank
Definition: starpu_fxt.h:103
uint64_t local_time_start
Definition: starpu_fxt.h:48
struct starpu_fxt_codelet_event ** dumped_codelets
Definition: starpu_fxt.h:108
void starpu_fxt_trace_user_event(unsigned long code)
void starpu_fxt_stop_profiling(void)
void starpu_fxt_start_profiling(void)
int starpu_fxt_is_enabled(void)
void starpu_fxt_autostart_profiling(int autostart)
void starpu_fxt_trace_user_event_string(const char *s)
Definition: starpu_fxt.h:36
Definition: starpu_fxt.h:47
Definition: starpu_fxt.h:57
#define STARPU_FXT_MAX_FILES
Definition: starpu_config.h:235
Definition: starpu_perfmodel.h:51
#define STARPU_NMAXWORKERS
Definition: starpu_config.h:284