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