OpenMPI  0.1.1
vt_metric.h
1 /**
2  * VampirTrace
3  * http://www.tu-dresden.de/zih/vampirtrace
4  *
5  * Copyright (c) 2005-2012, ZIH, TU Dresden, Federal Republic of Germany
6  *
7  * Copyright (c) 1998-2005, Forschungszentrum Juelich, Juelich Supercomputing
8  * Centre, Federal Republic of Germany
9  *
10  * See the file COPYING in the package base directory for details
11  **/
12 
13 #ifndef _VT_METRIC_H
14 #define _VT_METRIC_H
15 
16 #ifdef __cplusplus
17 # define EXTERN extern "C"
18 #else
19 # define EXTERN extern
20 #endif
21 
22 /* maximum number of counters */
23 #define VT_METRIC_MAXNUM 20
24 
25 /* define and set metrics based on VT_METRICS specification */
26 EXTERN int vt_metric_open(void);
27 EXTERN void vt_metric_close(void);
28 
29 /* create per-thread counter sets */
30 EXTERN struct vt_metv* vt_metric_create(void);
31 /* free per-thread counter sets */
32 EXTERN void vt_metric_free(struct vt_metv* metv, uint32_t tid);
33 
34 /* register thread (supply pthread_self() / omp_get_thread_num() as argument) */
35 EXTERN void vt_metric_thread_init(long (*id_fn)(void));
36 /* unregister thread */
37 EXTERN void vt_metric_thread_fini(void);
38 
39 /* reads values of counters relative to the time of vt_metric_open() */
40 EXTERN void vt_metric_read(struct vt_metv* metv, uint64_t offsets[],
41  uint64_t values[]);
42 
43 /* returns number of counters */
44 EXTERN int vt_metric_num(void);
45 /* returns name of counter i */
46 EXTERN const char* vt_metric_name(int i);
47 /* returns description of counter i */
48 EXTERN const char* vt_metric_descr(int i);
49 /* returns unit of counter i */
50 EXTERN const char* vt_metric_unit(int i);
51 /* returns OTF properties of counter i */
52 EXTERN uint32_t vt_metric_props(int i);
53 
54 #endif /* _VT_METRIC_H */
Definition: vt_metric_cpc.c:36