29#define omp_set_max_active_levels ompc_set_max_active_levels
30#define omp_set_schedule ompc_set_schedule
31#define omp_get_ancestor_thread_num ompc_get_ancestor_thread_num
32#define omp_get_team_size ompc_get_team_size
34#define omp_set_num_threads ompc_set_num_threads
35#define omp_set_dynamic ompc_set_dynamic
36#define omp_set_nested ompc_set_nested
37#define omp_set_affinity_format ompc_set_affinity_format
38#define omp_get_affinity_format ompc_get_affinity_format
39#define omp_display_affinity ompc_display_affinity
40#define omp_capture_affinity ompc_capture_affinity
41#define kmp_set_stacksize kmpc_set_stacksize
42#define kmp_set_stacksize_s kmpc_set_stacksize_s
43#define kmp_set_blocktime kmpc_set_blocktime
44#define kmp_set_library kmpc_set_library
45#define kmp_set_defaults kmpc_set_defaults
46#define kmp_set_disp_num_buffers kmpc_set_disp_num_buffers
47#define kmp_malloc kmpc_malloc
48#define kmp_aligned_malloc kmpc_aligned_malloc
49#define kmp_calloc kmpc_calloc
50#define kmp_realloc kmpc_realloc
51#define kmp_free kmpc_free
54static double frequency = 0.0;
58static size_t __kmps_init() {
59 static int initialized = 0;
60 static size_t dummy = 0;
72 dummy = __kmp_version_copyright - __kmp_version_build_time;
76 BOOL status = QueryPerformanceFrequency(&freq);
78 frequency = double(freq.QuadPart);
87#define i __kmps_init();
90void omp_set_num_threads(omp_int_t num_threads) { i; }
91void omp_set_dynamic(omp_int_t dynamic) {
93 __kmps_set_dynamic(dynamic);
95void omp_set_nested(omp_int_t nested) {
97 __kmps_set_nested(nested);
99void omp_set_max_active_levels(omp_int_t max_active_levels) { i; }
100void omp_set_schedule(omp_sched_t kind, omp_int_t modifier) {
102 __kmps_set_schedule((kmp_sched_t)kind, modifier);
104int omp_get_ancestor_thread_num(omp_int_t level) {
106 return (level) ? (-1) : (0);
108int omp_get_team_size(omp_int_t level) {
110 return (level) ? (-1) : (1);
112int kmpc_set_affinity_mask_proc(
int proc,
void **mask) {
116int kmpc_unset_affinity_mask_proc(
int proc,
void **mask) {
120int kmpc_get_affinity_mask_proc(
int proc,
void **mask) {
126void kmp_set_stacksize(omp_int_t arg) {
128 __kmps_set_stacksize((
size_t)arg);
130void kmp_set_stacksize_s(
size_t arg) {
132 __kmps_set_stacksize(arg);
134void kmp_set_blocktime(omp_int_t arg) {
136 __kmps_set_blocktime(arg);
138void kmp_set_library(omp_int_t arg) {
140 __kmps_set_library(arg);
142void kmp_set_defaults(
char const *str) { i; }
143void kmp_set_disp_num_buffers(omp_int_t arg) { i; }
146void *kmp_malloc(
size_t size) {
154 res = _aligned_malloc(size, 1);
160void *kmp_aligned_malloc(
size_t sz,
size_t a) {
165 res = _aligned_malloc(sz, a);
167 if ((err = posix_memalign(&res, a, sz))) {
174void *kmp_calloc(
size_t nelem,
size_t elsize) {
178 res = _aligned_recalloc(NULL, nelem, elsize, 1);
180 res = calloc(nelem, elsize);
184void *kmp_realloc(
void *ptr,
size_t size) {
188 res = _aligned_realloc(ptr, size, 1);
190 res = realloc(ptr, size);
194void kmp_free(
void *ptr) {
203static int __kmps_blocktime = INT_MAX;
205void __kmps_set_blocktime(
int arg) {
207 __kmps_blocktime = arg;
210int __kmps_get_blocktime(
void) {
212 return __kmps_blocktime;
215static int __kmps_dynamic = 0;
217void __kmps_set_dynamic(
int arg) {
219 __kmps_dynamic = arg;
222int __kmps_get_dynamic(
void) {
224 return __kmps_dynamic;
227static int __kmps_library = 1000;
229void __kmps_set_library(
int arg) {
231 __kmps_library = arg;
234int __kmps_get_library(
void) {
236 return __kmps_library;
239static int __kmps_nested = 0;
241void __kmps_set_nested(
int arg) {
246int __kmps_get_nested(
void) {
248 return __kmps_nested;
251static size_t __kmps_stacksize = KMP_DEFAULT_STKSIZE;
253void __kmps_set_stacksize(
size_t arg) {
255 __kmps_stacksize = arg;
258size_t __kmps_get_stacksize(
void) {
260 return __kmps_stacksize;
263static kmp_sched_t __kmps_sched_kind = kmp_sched_default;
264static int __kmps_sched_modifier = 0;
266void __kmps_set_schedule(kmp_sched_t kind,
int modifier) {
268 __kmps_sched_kind = kind;
269 __kmps_sched_modifier = modifier;
272void __kmps_get_schedule(kmp_sched_t *kind,
int *modifier) {
274 *kind = __kmps_sched_kind;
275 *modifier = __kmps_sched_modifier;
278kmp_proc_bind_t __kmps_get_proc_bind(
void) {
280 return proc_bind_false;
283double __kmps_get_wtime(
void) {
288 if (frequency > 0.0) {
290 BOOL status = QueryPerformanceCounter(&now);
292 wtime = double(now.QuadPart) / frequency;
299 rc = gettimeofday(&tval, NULL);
301 wtime = (double)(tval.tv_sec) + 1.0E-06 * (double)(tval.tv_usec);
309double __kmps_get_wtick(
void) {
319 rc = GetSystemTimeAdjustment(&adjustment, &increment, &disabled);
321 wtick = 1.0E-07 * (double)(disabled ? increment : adjustment);
336omp_allocator_handle_t
const omp_null_allocator = 0;
337omp_allocator_handle_t
const omp_default_mem_alloc =
338 (omp_allocator_handle_t
const)1;
339omp_allocator_handle_t
const omp_large_cap_mem_alloc =
340 (omp_allocator_handle_t
const)2;
341omp_allocator_handle_t
const omp_const_mem_alloc =
342 (omp_allocator_handle_t
const)3;
343omp_allocator_handle_t
const omp_high_bw_mem_alloc =
344 (omp_allocator_handle_t
const)4;
345omp_allocator_handle_t
const omp_low_lat_mem_alloc =
346 (omp_allocator_handle_t
const)5;
347omp_allocator_handle_t
const omp_cgroup_mem_alloc =
348 (omp_allocator_handle_t
const)6;
349omp_allocator_handle_t
const omp_pteam_mem_alloc =
350 (omp_allocator_handle_t
const)7;
351omp_allocator_handle_t
const omp_thread_mem_alloc =
352 (omp_allocator_handle_t
const)8;
354omp_allocator_handle_t
const llvm_omp_target_host_mem_alloc =
355 (omp_allocator_handle_t
const)100;
356omp_allocator_handle_t
const llvm_omp_target_shared_mem_alloc =
357 (omp_allocator_handle_t
const)101;
358omp_allocator_handle_t
const llvm_omp_target_device_mem_alloc =
359 (omp_allocator_handle_t
const)102;
361omp_memspace_handle_t
const omp_default_mem_space =
362 (omp_memspace_handle_t
const)0;
363omp_memspace_handle_t
const omp_large_cap_mem_space =
364 (omp_memspace_handle_t
const)1;
365omp_memspace_handle_t
const omp_const_mem_space =
366 (omp_memspace_handle_t
const)2;
367omp_memspace_handle_t
const omp_high_bw_mem_space =
368 (omp_memspace_handle_t
const)3;
369omp_memspace_handle_t
const omp_low_lat_mem_space =
370 (omp_memspace_handle_t
const)4;
372omp_memspace_handle_t
const llvm_omp_target_host_mem_space =
373 (omp_memspace_handle_t
const)100;
374omp_memspace_handle_t
const llvm_omp_target_shared_mem_space =
375 (omp_memspace_handle_t
const)101;
376omp_memspace_handle_t
const llvm_omp_target_device_mem_space =
377 (omp_memspace_handle_t
const)102;
380void *omp_alloc(
size_t size, omp_allocator_handle_t allocator) {
387 res = _aligned_malloc(size, 1);
394void *omp_aligned_alloc(
size_t a,
size_t size, omp_allocator_handle_t al) {
399 res = _aligned_malloc(size, a);
401 if (err = posix_memalign(&res, a, size)) {
409void *omp_calloc(
size_t nmemb,
size_t size, omp_allocator_handle_t al) {
413 res = _aligned_recalloc(NULL, nmemb, size, 1);
415 res = calloc(nmemb, size);
420void *omp_aligned_calloc(
size_t a,
size_t nmemb,
size_t size,
421 omp_allocator_handle_t al) {
426 res = _aligned_recalloc(NULL, nmemb, size, a);
428 if (err = posix_memalign(&res, a, nmemb * size)) {
432 memset(res, 0x00, size);
437void *omp_realloc(
void *ptr,
size_t size, omp_allocator_handle_t al,
438 omp_allocator_handle_t free_al) {
442 res = _aligned_realloc(ptr, size, 1);
444 res = realloc(ptr, size);
449void omp_free(
void *ptr, omp_allocator_handle_t allocator) {
459void omp_set_affinity_format(
char const *format) { i; }
460size_t omp_get_affinity_format(
char *buffer,
size_t size) {
464void omp_display_affinity(
char const *format) { i; }
465size_t omp_capture_affinity(
char *buffer,
size_t buf_size,
char const *format) {