t8  UNKNOWN
t8code is a C library to manage a forest of adaptive space-trees of general element classes in parallel.
t8_forest_profiling.h
Go to the documentation of this file.
1 /*
2  This file is part of t8code.
3  t8code is a C library to manage a collection (a forest) of multiple
4  connected adaptive space-trees of general element classes in parallel.
5 
6  Copyright (C) 2015 the developers
7 
8  t8code is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12 
13  t8code is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with t8code; if not, write to the Free Software Foundation, Inc.,
20  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 */
22 
27 /* TODO: begin documenting this file: make doxygen 2>&1 | grep t8_forest */
28 
29 #ifndef T8_FOREST_PROFILING_H
30 #define T8_FOREST_PROFILING_H
31 
32 #include <sc_statistics.h>
33 T8_EXTERN_C_BEGIN ();
34 
45 void
46 t8_forest_set_profiling (t8_forest_t forest, int set_profiling);
47 
48 /* TODO: document */
49 void
50 t8_forest_compute_profile (t8_forest_t forest);
51 const sc_statinfo_t *
52 t8_forest_profile_get_adapt_stats (t8_forest_t forest);
53 const sc_statinfo_t *
54 t8_forest_profile_get_ghost_stats (t8_forest_t forest);
55 const sc_statinfo_t *
56 t8_forest_profile_get_partition_stats (t8_forest_t forest);
57 const sc_statinfo_t *
58 t8_forest_profile_get_commit_stats (t8_forest_t forest);
59 const sc_statinfo_t *
60 t8_forest_profile_get_balance_stats (t8_forest_t forest);
61 const sc_statinfo_t *
62 t8_forest_profile_get_balance_rounds_stats (t8_forest_t forest);
63 
70 void
72 
81 double
83 
95 double
96 t8_forest_profile_get_partition_time (t8_forest_t forest, int *procs_sent);
97 
108 double
109 t8_forest_profile_get_balance_time (t8_forest_t forest, int *balance_rounds);
110 
121 double
123 
133 double
135 T8_EXTERN_C_END ();
136 
137 #endif /* !T8_FOREST_PROFILING_H */
This structure is private to the implementation.
Definition: t8_forest_types.h:69
int32_t t8_locidx_t
A type for processor-local indexing.
Definition: t8.h:89
double t8_forest_profile_get_adapt_time(t8_forest_t forest)
Get the runtime of the last call to t8_forest_adapt.
Definition: t8_forest.c:1276
void t8_forest_set_profiling(t8_forest_t forest, int set_profiling)
Enable or disable profiling for a forest.
Definition: t8_forest.c:1158
double t8_forest_profile_get_ghost_time(t8_forest_t forest, t8_locidx_t *ghosts_sent)
Get the runtime of the last call to t8_forest_create_ghosts.
Definition: t8_forest.c:1308
double t8_forest_profile_get_ghostexchange_waittime(t8_forest_t forest)
Get the waittime of the last call to t8_forest_ghost_exchange_data.
Definition: t8_forest.c:1320
double t8_forest_profile_get_balance_time(t8_forest_t forest, int *balance_rounds)
Get the runtime of the last call to t8_forest_balance.
Definition: t8_forest.c:1297
double t8_forest_profile_get_partition_time(t8_forest_t forest, int *procs_sent)
Get the runtime of the last call to t8_forest_partition.
Definition: t8_forest.c:1286
void t8_forest_print_profile(t8_forest_t forest)
Print the collected statistics from a forest profile.
Definition: t8_forest.c:1207