aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/cxxsupp/openmp/ompt-specific.h
blob: 2cc213ff140ad798215a55b86569a7aaad8ad2c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#ifndef OMPT_SPECIFIC_H 
#define OMPT_SPECIFIC_H 
 
#include "kmp.h" 
 
/***************************************************************************** 
 * types 
 ****************************************************************************/ 
 
typedef kmp_info_t ompt_thread_t; 
 
 
 
/***************************************************************************** 
 * forward declarations 
 ****************************************************************************/ 
 
void __ompt_team_assign_id(kmp_team_t *team, ompt_parallel_id_t ompt_pid); 
void __ompt_thread_assign_wait_id(void *variable); 
 
void __ompt_lw_taskteam_init(ompt_lw_taskteam_t *lwt, ompt_thread_t *thr, 
                             int gtid, void *microtask, 
                             ompt_parallel_id_t ompt_pid); 
 
void __ompt_lw_taskteam_link(ompt_lw_taskteam_t *lwt,  ompt_thread_t *thr); 
 
ompt_lw_taskteam_t * __ompt_lw_taskteam_unlink(ompt_thread_t *thr); 
 
ompt_parallel_id_t __ompt_parallel_id_new(int gtid); 
ompt_task_id_t __ompt_task_id_new(int gtid); 
 
ompt_team_info_t *__ompt_get_teaminfo(int depth, int *size); 
 
ompt_task_info_t *__ompt_get_taskinfo(int depth); 
 
void __ompt_thread_begin(ompt_thread_type_t thread_type, int gtid); 
 
void __ompt_thread_end(ompt_thread_type_t thread_type, int gtid); 
 
int __ompt_get_parallel_team_size_internal(int ancestor_level); 
 
ompt_task_id_t __ompt_get_task_id_internal(int depth); 
 
ompt_frame_t *__ompt_get_task_frame_internal(int depth); 
 
 
 
/***************************************************************************** 
 * macros 
 ****************************************************************************/ 
 
#define OMPT_HAVE_WEAK_ATTRIBUTE KMP_HAVE_WEAK_ATTRIBUTE 
#define OMPT_HAVE_PSAPI KMP_HAVE_PSAPI 
#define OMPT_STR_MATCH(haystack, needle) __kmp_str_match(haystack, 0, needle) 
 
 
 
//****************************************************************************** 
// inline functions 
//****************************************************************************** 
 
inline ompt_thread_t * 
ompt_get_thread_gtid(int gtid) 
{ 
    return (gtid >= 0) ? __kmp_thread_from_gtid(gtid) : NULL; 
} 
 
 
inline ompt_thread_t * 
ompt_get_thread() 
{ 
    int gtid = __kmp_gtid_get_specific(); 
    return ompt_get_thread_gtid(gtid); 
} 
 
 
inline void  
ompt_set_thread_state(ompt_thread_t *thread, ompt_state_t state) 
{ 
    thread->th.ompt_thread_info.state = state;  
} 
 
 
inline const char * 
ompt_get_runtime_version() 
{ 
    return &__kmp_version_lib_ver[KMP_VERSION_MAGIC_LEN]; 
} 
 
#endif