LLVM OpenMP* Runtime Library
kmp_stub.h
1 /*
2  * kmp_stub.h
3  */
4 
5 //===----------------------------------------------------------------------===//
6 //
7 // The LLVM Compiler Infrastructure
8 //
9 // This file is dual licensed under the MIT and the University of Illinois Open
10 // Source Licenses. See LICENSE.txt for details.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef KMP_STUB_H
15 #define KMP_STUB_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif // __cplusplus
20 
21 void __kmps_set_blocktime(int arg);
22 int __kmps_get_blocktime(void);
23 void __kmps_set_dynamic(int arg);
24 int __kmps_get_dynamic(void);
25 void __kmps_set_library(int arg);
26 int __kmps_get_library(void);
27 void __kmps_set_nested(int arg);
28 int __kmps_get_nested(void);
29 void __kmps_set_stacksize(int arg);
30 int __kmps_get_stacksize();
31 
32 #ifndef KMP_SCHED_TYPE_DEFINED
33 #define KMP_SCHED_TYPE_DEFINED
34 typedef enum kmp_sched {
35  kmp_sched_static = 1, // mapped to kmp_sch_static_chunked (33)
36  kmp_sched_dynamic = 2, // mapped to kmp_sch_dynamic_chunked (35)
37  kmp_sched_guided = 3, // mapped to kmp_sch_guided_chunked (36)
38  kmp_sched_auto = 4, // mapped to kmp_sch_auto (38)
39  kmp_sched_default = kmp_sched_static // default scheduling
40 } kmp_sched_t;
41 #endif
42 void __kmps_set_schedule(kmp_sched_t kind, int modifier);
43 void __kmps_get_schedule(kmp_sched_t *kind, int *modifier);
44 
45 #if OMP_40_ENABLED
46 void __kmps_set_proc_bind(kmp_proc_bind_t arg);
47 kmp_proc_bind_t __kmps_get_proc_bind(void);
48 #endif /* OMP_40_ENABLED */
49 
50 double __kmps_get_wtime();
51 double __kmps_get_wtick();
52 
53 #ifdef __cplusplus
54 } // extern "C"
55 #endif // __cplusplus
56 
57 #endif // KMP_STUB_H
58 
59 // end of file //