ROSE 0.11.145.147
libgomp_g.h
1/* The libgomp's interface to the compiler
2 *
3 * Basically this is a copy of gcc_release/libgomp/libgomp_g.h
4 *
5 * */
6#ifndef LIBGOMP_G_H
7#define LIBGOMP_G_H
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#include <stdbool.h>
14extern void GOMP_barrier (void);
15
16extern void GOMP_critical_start (void);
17extern void GOMP_critical_end (void);
18extern void GOMP_critical_name_start (void **);
19extern void GOMP_critical_name_end (void **);
20extern void GOMP_atomic_start (void);
21extern void GOMP_atomic_end (void);
22
23extern bool GOMP_loop_static_start (long, long, long, long, long *, long *);
24extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *);
25extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *);
26extern bool GOMP_loop_runtime_start (long, long, long, long *, long *);
27
28extern bool GOMP_loop_ordered_static_start (long, long, long, long, long *, long *);
29extern bool GOMP_loop_ordered_dynamic_start (long, long, long, long, long *, long *);
30extern bool GOMP_loop_ordered_guided_start (long, long, long, long, long *, long *);
31extern bool GOMP_loop_ordered_runtime_start (long, long, long, long *, long *);
32
33extern bool GOMP_loop_static_next (long *, long *);
34extern bool GOMP_loop_dynamic_next (long *, long *);
35extern bool GOMP_loop_guided_next (long *, long *);
36extern bool GOMP_loop_runtime_next (long *, long *);
37
38extern bool GOMP_loop_ordered_static_next (long *, long *);
39extern bool GOMP_loop_ordered_dynamic_next (long *, long *);
40extern bool GOMP_loop_ordered_guided_next (long *, long *);
41extern bool GOMP_loop_ordered_runtime_next (long *, long *);
42
43extern void GOMP_parallel_loop_static_start (void (*)(void *), void *,
44 unsigned, long, long, long, long);
45extern void GOMP_parallel_loop_dynamic_start (void (*)(void *), void *,
46 unsigned, long, long, long, long);
47extern void GOMP_parallel_loop_guided_start (void (*)(void *), void *,
48 unsigned, long, long, long, long);
49extern void GOMP_parallel_loop_runtime_start (void (*)(void *), void *,
50 unsigned, long, long, long);
51extern void GOMP_loop_end (void);
52extern void GOMP_loop_end_nowait (void);
53
54extern bool GOMP_loop_ull_static_start (bool, unsigned long long,
55 unsigned long long,
56 unsigned long long,
57 unsigned long long,
58 unsigned long long *,
59 unsigned long long *);
60extern bool GOMP_loop_ull_dynamic_start (bool, unsigned long long,
61 unsigned long long,
62 unsigned long long,
63 unsigned long long,
64 unsigned long long *,
65 unsigned long long *);
66extern bool GOMP_loop_ull_guided_start (bool, unsigned long long,
67 unsigned long long,
68 unsigned long long,
69 unsigned long long,
70 unsigned long long *,
71 unsigned long long *);
72extern bool GOMP_loop_ull_runtime_start (bool, unsigned long long,
73 unsigned long long,
74 unsigned long long,
75 unsigned long long *,
76 unsigned long long *);
77
78extern bool GOMP_loop_ull_ordered_static_start (bool, unsigned long long,
79 unsigned long long,
80 unsigned long long,
81 unsigned long long,
82 unsigned long long *,
83 unsigned long long *);
84extern bool GOMP_loop_ull_ordered_dynamic_start (bool, unsigned long long,
85 unsigned long long,
86 unsigned long long,
87 unsigned long long,
88 unsigned long long *,
89 unsigned long long *);
90extern bool GOMP_loop_ull_ordered_guided_start (bool, unsigned long long,
91 unsigned long long,
92 unsigned long long,
93 unsigned long long,
94 unsigned long long *,
95 unsigned long long *);
96extern bool GOMP_loop_ull_ordered_runtime_start (bool, unsigned long long,
97 unsigned long long,
98 unsigned long long,
99 unsigned long long *,
100 unsigned long long *);
101
102extern bool GOMP_loop_ull_static_next (unsigned long long *,
103 unsigned long long *);
104extern bool GOMP_loop_ull_dynamic_next (unsigned long long *,
105 unsigned long long *);
106extern bool GOMP_loop_ull_guided_next (unsigned long long *,
107 unsigned long long *);
108extern bool GOMP_loop_ull_runtime_next (unsigned long long *,
109 unsigned long long *);
110
111extern bool GOMP_loop_ull_ordered_static_next (unsigned long long *,
112 unsigned long long *);
113extern bool GOMP_loop_ull_ordered_dynamic_next (unsigned long long *,
114 unsigned long long *);
115
116extern void GOMP_ordered_start (void);
117extern void GOMP_ordered_end (void);
118/* void GOMP_parallel_start (void (*func) (void *), void *data, unsigned num_threads_specified);
119 * func: pointer to the function to be run in parallel
120 * data: a pointer to a structure used to communicate data in and out of the subfunction
121 * num_threads_specified: is a combination of the NUM_THREADS clause and the IF clause
122 * is 1 if an IF clause is present and false, or the value of the NUM_THREADS clause, if present, or 0 by default
123 * GOMP has an internal function (gomp_resolve_num_threads()) to determine the actual number of threads to be used.
124 * */
125extern void GOMP_parallel_start (void (*) (void *), void *, unsigned);
126extern void GOMP_parallel_end (void);
127
128extern void GOMP_task (void (*) (void *), void *, void (*) (void *, void *),
129 long, long, bool, unsigned);
130extern void GOMP_taskwait (void);
131
132extern unsigned GOMP_sections_start (unsigned);
133extern unsigned GOMP_sections_next (void);
134extern void GOMP_parallel_sections_start (void (*) (void *), void *,
135 unsigned, unsigned);
136extern void GOMP_sections_end (void);
137extern void GOMP_sections_end_nowait (void);
138
139extern bool GOMP_single_start (void);
140extern void *GOMP_single_copy_start (void);
141extern void GOMP_single_copy_end (void *);
142
143
144#ifdef __cplusplus
145 }
146#endif
147
148#endif /* LIBGOMP_G_H */
149
150
151
152