kmp_stub.h revision 345153
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
18extern "C" {
19#endif // __cplusplus
20
21void __kmps_set_blocktime(int arg);
22int __kmps_get_blocktime(void);
23void __kmps_set_dynamic(int arg);
24int __kmps_get_dynamic(void);
25void __kmps_set_library(int arg);
26int __kmps_get_library(void);
27void __kmps_set_nested(int arg);
28int __kmps_get_nested(void);
29void __kmps_set_stacksize(int arg);
30int __kmps_get_stacksize();
31
32#ifndef KMP_SCHED_TYPE_DEFINED
33#define KMP_SCHED_TYPE_DEFINED
34typedef 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
42void __kmps_set_schedule(kmp_sched_t kind, int modifier);
43void __kmps_get_schedule(kmp_sched_t *kind, int *modifier);
44
45#if OMP_40_ENABLED
46void __kmps_set_proc_bind(kmp_proc_bind_t arg);
47kmp_proc_bind_t __kmps_get_proc_bind(void);
48#endif /* OMP_40_ENABLED */
49
50double __kmps_get_wtime();
51double __kmps_get_wtick();
52
53#ifdef __cplusplus
54} // extern "C"
55#endif // __cplusplus
56
57#endif // KMP_STUB_H
58
59// end of file //
60