Mercurial > hg > CbC > CbC_gcc
comparison libgomp/libgomp_g.h @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | a06113de4d67 |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. | 1 /* Copyright (C) 2005-2017 Free Software Foundation, Inc. |
2 Contributed by Richard Henderson <rth@redhat.com>. | 2 Contributed by Richard Henderson <rth@redhat.com>. |
3 | 3 |
4 This file is part of the GNU OpenMP Library (libgomp). | 4 This file is part of the GNU Offloading and Multi Processing Library |
5 (libgomp). | |
5 | 6 |
6 Libgomp is free software; you can redistribute it and/or modify it | 7 Libgomp is free software; you can redistribute it and/or modify it |
7 under the terms of the GNU General Public License as published by | 8 under the terms of the GNU General Public License as published by |
8 the Free Software Foundation; either version 3, or (at your option) | 9 the Free Software Foundation; either version 3, or (at your option) |
9 any later version. | 10 any later version. |
27 | 28 |
28 #ifndef LIBGOMP_G_H | 29 #ifndef LIBGOMP_G_H |
29 #define LIBGOMP_G_H 1 | 30 #define LIBGOMP_G_H 1 |
30 | 31 |
31 #include <stdbool.h> | 32 #include <stdbool.h> |
33 #include <stddef.h> | |
32 | 34 |
33 /* barrier.c */ | 35 /* barrier.c */ |
34 | 36 |
35 extern void GOMP_barrier (void); | 37 extern void GOMP_barrier (void); |
38 extern bool GOMP_barrier_cancel (void); | |
36 | 39 |
37 /* critical.c */ | 40 /* critical.c */ |
38 | 41 |
39 extern void GOMP_critical_start (void); | 42 extern void GOMP_critical_start (void); |
40 extern void GOMP_critical_end (void); | 43 extern void GOMP_critical_end (void); |
47 | 50 |
48 extern bool GOMP_loop_static_start (long, long, long, long, long *, long *); | 51 extern bool GOMP_loop_static_start (long, long, long, long, long *, long *); |
49 extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *); | 52 extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *); |
50 extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *); | 53 extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *); |
51 extern bool GOMP_loop_runtime_start (long, long, long, long *, long *); | 54 extern bool GOMP_loop_runtime_start (long, long, long, long *, long *); |
55 extern bool GOMP_loop_nonmonotonic_dynamic_start (long, long, long, long, | |
56 long *, long *); | |
57 extern bool GOMP_loop_nonmonotonic_guided_start (long, long, long, long, | |
58 long *, long *); | |
52 | 59 |
53 extern bool GOMP_loop_ordered_static_start (long, long, long, long, | 60 extern bool GOMP_loop_ordered_static_start (long, long, long, long, |
54 long *, long *); | 61 long *, long *); |
55 extern bool GOMP_loop_ordered_dynamic_start (long, long, long, long, | 62 extern bool GOMP_loop_ordered_dynamic_start (long, long, long, long, |
56 long *, long *); | 63 long *, long *); |
60 | 67 |
61 extern bool GOMP_loop_static_next (long *, long *); | 68 extern bool GOMP_loop_static_next (long *, long *); |
62 extern bool GOMP_loop_dynamic_next (long *, long *); | 69 extern bool GOMP_loop_dynamic_next (long *, long *); |
63 extern bool GOMP_loop_guided_next (long *, long *); | 70 extern bool GOMP_loop_guided_next (long *, long *); |
64 extern bool GOMP_loop_runtime_next (long *, long *); | 71 extern bool GOMP_loop_runtime_next (long *, long *); |
72 extern bool GOMP_loop_nonmonotonic_dynamic_next (long *, long *); | |
73 extern bool GOMP_loop_nonmonotonic_guided_next (long *, long *); | |
65 | 74 |
66 extern bool GOMP_loop_ordered_static_next (long *, long *); | 75 extern bool GOMP_loop_ordered_static_next (long *, long *); |
67 extern bool GOMP_loop_ordered_dynamic_next (long *, long *); | 76 extern bool GOMP_loop_ordered_dynamic_next (long *, long *); |
68 extern bool GOMP_loop_ordered_guided_next (long *, long *); | 77 extern bool GOMP_loop_ordered_guided_next (long *, long *); |
69 extern bool GOMP_loop_ordered_runtime_next (long *, long *); | 78 extern bool GOMP_loop_ordered_runtime_next (long *, long *); |
79 | |
80 extern bool GOMP_loop_doacross_static_start (unsigned, long *, long, long *, | |
81 long *); | |
82 extern bool GOMP_loop_doacross_dynamic_start (unsigned, long *, long, long *, | |
83 long *); | |
84 extern bool GOMP_loop_doacross_guided_start (unsigned, long *, long, long *, | |
85 long *); | |
86 extern bool GOMP_loop_doacross_runtime_start (unsigned, long *, long *, | |
87 long *); | |
70 | 88 |
71 extern void GOMP_parallel_loop_static_start (void (*)(void *), void *, | 89 extern void GOMP_parallel_loop_static_start (void (*)(void *), void *, |
72 unsigned, long, long, long, long); | 90 unsigned, long, long, long, long); |
73 extern void GOMP_parallel_loop_dynamic_start (void (*)(void *), void *, | 91 extern void GOMP_parallel_loop_dynamic_start (void (*)(void *), void *, |
74 unsigned, long, long, long, long); | 92 unsigned, long, long, long, long); |
75 extern void GOMP_parallel_loop_guided_start (void (*)(void *), void *, | 93 extern void GOMP_parallel_loop_guided_start (void (*)(void *), void *, |
76 unsigned, long, long, long, long); | 94 unsigned, long, long, long, long); |
77 extern void GOMP_parallel_loop_runtime_start (void (*)(void *), void *, | 95 extern void GOMP_parallel_loop_runtime_start (void (*)(void *), void *, |
78 unsigned, long, long, long); | 96 unsigned, long, long, long); |
97 extern void GOMP_parallel_loop_static (void (*)(void *), void *, | |
98 unsigned, long, long, long, long, | |
99 unsigned); | |
100 extern void GOMP_parallel_loop_dynamic (void (*)(void *), void *, | |
101 unsigned, long, long, long, long, | |
102 unsigned); | |
103 extern void GOMP_parallel_loop_guided (void (*)(void *), void *, | |
104 unsigned, long, long, long, long, | |
105 unsigned); | |
106 extern void GOMP_parallel_loop_runtime (void (*)(void *), void *, | |
107 unsigned, long, long, long, | |
108 unsigned); | |
109 extern void GOMP_parallel_loop_nonmonotonic_dynamic (void (*)(void *), void *, | |
110 unsigned, long, long, | |
111 long, long, unsigned); | |
112 extern void GOMP_parallel_loop_nonmonotonic_guided (void (*)(void *), void *, | |
113 unsigned, long, long, | |
114 long, long, unsigned); | |
79 | 115 |
80 extern void GOMP_loop_end (void); | 116 extern void GOMP_loop_end (void); |
81 extern void GOMP_loop_end_nowait (void); | 117 extern void GOMP_loop_end_nowait (void); |
118 extern bool GOMP_loop_end_cancel (void); | |
82 | 119 |
83 /* loop_ull.c */ | 120 /* loop_ull.c */ |
84 | 121 |
85 extern bool GOMP_loop_ull_static_start (bool, unsigned long long, | 122 extern bool GOMP_loop_ull_static_start (bool, unsigned long long, |
86 unsigned long long, | 123 unsigned long long, |
103 extern bool GOMP_loop_ull_runtime_start (bool, unsigned long long, | 140 extern bool GOMP_loop_ull_runtime_start (bool, unsigned long long, |
104 unsigned long long, | 141 unsigned long long, |
105 unsigned long long, | 142 unsigned long long, |
106 unsigned long long *, | 143 unsigned long long *, |
107 unsigned long long *); | 144 unsigned long long *); |
145 extern bool GOMP_loop_ull_nonmonotonic_dynamic_start (bool, unsigned long long, | |
146 unsigned long long, | |
147 unsigned long long, | |
148 unsigned long long, | |
149 unsigned long long *, | |
150 unsigned long long *); | |
151 extern bool GOMP_loop_ull_nonmonotonic_guided_start (bool, unsigned long long, | |
152 unsigned long long, | |
153 unsigned long long, | |
154 unsigned long long, | |
155 unsigned long long *, | |
156 unsigned long long *); | |
108 | 157 |
109 extern bool GOMP_loop_ull_ordered_static_start (bool, unsigned long long, | 158 extern bool GOMP_loop_ull_ordered_static_start (bool, unsigned long long, |
110 unsigned long long, | 159 unsigned long long, |
111 unsigned long long, | 160 unsigned long long, |
112 unsigned long long, | 161 unsigned long long, |
136 unsigned long long *); | 185 unsigned long long *); |
137 extern bool GOMP_loop_ull_guided_next (unsigned long long *, | 186 extern bool GOMP_loop_ull_guided_next (unsigned long long *, |
138 unsigned long long *); | 187 unsigned long long *); |
139 extern bool GOMP_loop_ull_runtime_next (unsigned long long *, | 188 extern bool GOMP_loop_ull_runtime_next (unsigned long long *, |
140 unsigned long long *); | 189 unsigned long long *); |
190 extern bool GOMP_loop_ull_nonmonotonic_dynamic_next (unsigned long long *, | |
191 unsigned long long *); | |
192 extern bool GOMP_loop_ull_nonmonotonic_guided_next (unsigned long long *, | |
193 unsigned long long *); | |
141 | 194 |
142 extern bool GOMP_loop_ull_ordered_static_next (unsigned long long *, | 195 extern bool GOMP_loop_ull_ordered_static_next (unsigned long long *, |
143 unsigned long long *); | 196 unsigned long long *); |
144 extern bool GOMP_loop_ull_ordered_dynamic_next (unsigned long long *, | 197 extern bool GOMP_loop_ull_ordered_dynamic_next (unsigned long long *, |
145 unsigned long long *); | 198 unsigned long long *); |
146 extern bool GOMP_loop_ull_ordered_guided_next (unsigned long long *, | 199 extern bool GOMP_loop_ull_ordered_guided_next (unsigned long long *, |
147 unsigned long long *); | 200 unsigned long long *); |
148 extern bool GOMP_loop_ull_ordered_runtime_next (unsigned long long *, | 201 extern bool GOMP_loop_ull_ordered_runtime_next (unsigned long long *, |
149 unsigned long long *); | 202 unsigned long long *); |
150 | 203 |
204 extern bool GOMP_loop_ull_doacross_static_start (unsigned, | |
205 unsigned long long *, | |
206 unsigned long long, | |
207 unsigned long long *, | |
208 unsigned long long *); | |
209 extern bool GOMP_loop_ull_doacross_dynamic_start (unsigned, | |
210 unsigned long long *, | |
211 unsigned long long, | |
212 unsigned long long *, | |
213 unsigned long long *); | |
214 extern bool GOMP_loop_ull_doacross_guided_start (unsigned, | |
215 unsigned long long *, | |
216 unsigned long long, | |
217 unsigned long long *, | |
218 unsigned long long *); | |
219 extern bool GOMP_loop_ull_doacross_runtime_start (unsigned, | |
220 unsigned long long *, | |
221 unsigned long long *, | |
222 unsigned long long *); | |
223 | |
151 /* ordered.c */ | 224 /* ordered.c */ |
152 | 225 |
153 extern void GOMP_ordered_start (void); | 226 extern void GOMP_ordered_start (void); |
154 extern void GOMP_ordered_end (void); | 227 extern void GOMP_ordered_end (void); |
228 extern void GOMP_doacross_post (long *); | |
229 extern void GOMP_doacross_wait (long, ...); | |
230 extern void GOMP_doacross_ull_post (unsigned long long *); | |
231 extern void GOMP_doacross_ull_wait (unsigned long long, ...); | |
155 | 232 |
156 /* parallel.c */ | 233 /* parallel.c */ |
157 | 234 |
158 extern void GOMP_parallel_start (void (*) (void *), void *, unsigned); | 235 extern void GOMP_parallel_start (void (*) (void *), void *, unsigned); |
159 extern void GOMP_parallel_end (void); | 236 extern void GOMP_parallel_end (void); |
160 | 237 extern void GOMP_parallel (void (*) (void *), void *, unsigned, unsigned); |
161 /* team.c */ | 238 extern bool GOMP_cancel (int, bool); |
239 extern bool GOMP_cancellation_point (int); | |
240 | |
241 /* task.c */ | |
162 | 242 |
163 extern void GOMP_task (void (*) (void *), void *, void (*) (void *, void *), | 243 extern void GOMP_task (void (*) (void *), void *, void (*) (void *, void *), |
164 long, long, bool, unsigned); | 244 long, long, bool, unsigned, void **, int); |
245 extern void GOMP_taskloop (void (*) (void *), void *, | |
246 void (*) (void *, void *), long, long, unsigned, | |
247 unsigned long, int, long, long, long); | |
248 extern void GOMP_taskloop_ull (void (*) (void *), void *, | |
249 void (*) (void *, void *), long, long, | |
250 unsigned, unsigned long, int, | |
251 unsigned long long, unsigned long long, | |
252 unsigned long long); | |
165 extern void GOMP_taskwait (void); | 253 extern void GOMP_taskwait (void); |
254 extern void GOMP_taskyield (void); | |
255 extern void GOMP_taskgroup_start (void); | |
256 extern void GOMP_taskgroup_end (void); | |
166 | 257 |
167 /* sections.c */ | 258 /* sections.c */ |
168 | 259 |
169 extern unsigned GOMP_sections_start (unsigned); | 260 extern unsigned GOMP_sections_start (unsigned); |
170 extern unsigned GOMP_sections_next (void); | 261 extern unsigned GOMP_sections_next (void); |
171 extern void GOMP_parallel_sections_start (void (*) (void *), void *, | 262 extern void GOMP_parallel_sections_start (void (*) (void *), void *, |
172 unsigned, unsigned); | 263 unsigned, unsigned); |
264 extern void GOMP_parallel_sections (void (*) (void *), void *, | |
265 unsigned, unsigned, unsigned); | |
173 extern void GOMP_sections_end (void); | 266 extern void GOMP_sections_end (void); |
174 extern void GOMP_sections_end_nowait (void); | 267 extern void GOMP_sections_end_nowait (void); |
268 extern bool GOMP_sections_end_cancel (void); | |
175 | 269 |
176 /* single.c */ | 270 /* single.c */ |
177 | 271 |
178 extern bool GOMP_single_start (void); | 272 extern bool GOMP_single_start (void); |
179 extern void *GOMP_single_copy_start (void); | 273 extern void *GOMP_single_copy_start (void); |
180 extern void GOMP_single_copy_end (void *); | 274 extern void GOMP_single_copy_end (void *); |
181 | 275 |
276 /* target.c */ | |
277 | |
278 extern void GOMP_target (int, void (*) (void *), const void *, | |
279 size_t, void **, size_t *, unsigned char *); | |
280 extern void GOMP_target_ext (int, void (*) (void *), size_t, void **, size_t *, | |
281 unsigned short *, unsigned int, void **, void **); | |
282 extern void GOMP_target_data (int, const void *, | |
283 size_t, void **, size_t *, unsigned char *); | |
284 extern void GOMP_target_data_ext (int, size_t, void **, size_t *, | |
285 unsigned short *); | |
286 extern void GOMP_target_end_data (void); | |
287 extern void GOMP_target_update (int, const void *, | |
288 size_t, void **, size_t *, unsigned char *); | |
289 extern void GOMP_target_update_ext (int, size_t, void **, size_t *, | |
290 unsigned short *, unsigned int, void **); | |
291 extern void GOMP_target_enter_exit_data (int, size_t, void **, size_t *, | |
292 unsigned short *, unsigned int, | |
293 void **); | |
294 extern void GOMP_teams (unsigned int, unsigned int); | |
295 | |
296 /* oacc-parallel.c */ | |
297 | |
298 extern void GOACC_parallel_keyed (int, void (*) (void *), size_t, | |
299 void **, size_t *, unsigned short *, ...); | |
300 extern void GOACC_parallel (int, void (*) (void *), size_t, void **, size_t *, | |
301 unsigned short *, int, int, int, int, int, ...); | |
302 extern void GOACC_data_start (int, size_t, void **, size_t *, | |
303 unsigned short *); | |
304 extern void GOACC_data_end (void); | |
305 extern void GOACC_enter_exit_data (int, size_t, void **, | |
306 size_t *, unsigned short *, int, int, ...); | |
307 extern void GOACC_update (int, size_t, void **, size_t *, | |
308 unsigned short *, int, int, ...); | |
309 extern void GOACC_wait (int, int, ...); | |
310 extern int GOACC_get_num_threads (void); | |
311 extern int GOACC_get_thread_num (void); | |
312 extern void GOACC_declare (int, size_t, void **, size_t *, unsigned short *); | |
313 | |
182 #endif /* LIBGOMP_G_H */ | 314 #endif /* LIBGOMP_G_H */ |