31 #define omp_set_max_active_levels ompc_set_max_active_levels 32 #define omp_set_schedule ompc_set_schedule 33 #define omp_get_ancestor_thread_num ompc_get_ancestor_thread_num 34 #define omp_get_team_size ompc_get_team_size 36 #define omp_set_num_threads ompc_set_num_threads 37 #define omp_set_dynamic ompc_set_dynamic 38 #define omp_set_nested ompc_set_nested 39 #define kmp_set_stacksize kmpc_set_stacksize 40 #define kmp_set_stacksize_s kmpc_set_stacksize_s 41 #define kmp_set_blocktime kmpc_set_blocktime 42 #define kmp_set_library kmpc_set_library 43 #define kmp_set_defaults kmpc_set_defaults 44 #define kmp_set_disp_num_buffers kmpc_set_disp_num_buffers 45 #define kmp_malloc kmpc_malloc 46 #define kmp_aligned_malloc kmpc_aligned_malloc 47 #define kmp_calloc kmpc_calloc 48 #define kmp_realloc kmpc_realloc 49 #define kmp_free kmpc_free 51 static double frequency = 0.0;
54 static size_t __kmps_init() {
55 static int initialized = 0;
56 static size_t dummy = 0;
57 if ( ! initialized ) {
69 dummy = __kmp_version_copyright - __kmp_version_build_time;
73 BOOL status = QueryPerformanceFrequency( & freq );
75 frequency = double( freq.QuadPart );
84 #define i __kmps_init(); 87 void omp_set_num_threads( omp_int_t num_threads ) { i; }
88 void omp_set_dynamic( omp_int_t dynamic ) { i; __kmps_set_dynamic( dynamic ); }
89 void omp_set_nested( omp_int_t nested ) { i; __kmps_set_nested( nested ); }
90 void omp_set_max_active_levels( omp_int_t max_active_levels ) { i; }
91 void omp_set_schedule( omp_sched_t kind, omp_int_t modifier ) { i; __kmps_set_schedule( (kmp_sched_t)kind, modifier ); }
92 int omp_get_ancestor_thread_num( omp_int_t level ) { i;
return ( level ) ? ( -1 ) : ( 0 ); }
93 int omp_get_team_size( omp_int_t level ) { i;
return ( level ) ? ( -1 ) : ( 1 ); }
94 int kmpc_set_affinity_mask_proc(
int proc,
void **mask ) { i;
return -1; }
95 int kmpc_unset_affinity_mask_proc(
int proc,
void **mask ) { i;
return -1; }
96 int kmpc_get_affinity_mask_proc(
int proc,
void **mask ) { i;
return -1; }
99 void kmp_set_stacksize( omp_int_t arg ) { i; __kmps_set_stacksize( arg ); }
100 void kmp_set_stacksize_s(
size_t arg ) { i; __kmps_set_stacksize( arg ); }
101 void kmp_set_blocktime( omp_int_t arg ) { i; __kmps_set_blocktime( arg ); }
102 void kmp_set_library( omp_int_t arg ) { i; __kmps_set_library( arg ); }
103 void kmp_set_defaults(
char const * str ) { i; }
104 void kmp_set_disp_num_buffers( omp_int_t arg ) { i; }
107 void * kmp_malloc(
size_t size ) { i;
return malloc( size ); }
108 void * kmp_aligned_malloc(
size_t sz,
size_t a ) {
116 if( err = posix_memalign( &res, a, sz ) ) {
123 void * kmp_calloc(
size_t nelem,
size_t elsize ) { i;
return calloc( nelem, elsize ); }
124 void * kmp_realloc(
void *ptr,
size_t size ) { i;
return realloc( ptr, size ); }
125 void kmp_free(
void * ptr ) { i; free( ptr ); }
127 static int __kmps_blocktime = INT_MAX;
129 void __kmps_set_blocktime(
int arg ) {
131 __kmps_blocktime = arg;
134 int __kmps_get_blocktime(
void ) {
136 return __kmps_blocktime;
139 static int __kmps_dynamic = 0;
141 void __kmps_set_dynamic(
int arg ) {
143 __kmps_dynamic = arg;
146 int __kmps_get_dynamic(
void ) {
148 return __kmps_dynamic;
151 static int __kmps_library = 1000;
153 void __kmps_set_library(
int arg ) {
155 __kmps_library = arg;
158 int __kmps_get_library(
void ) {
160 return __kmps_library;
163 static int __kmps_nested = 0;
165 void __kmps_set_nested(
int arg ) {
170 int __kmps_get_nested(
void ) {
172 return __kmps_nested;
175 static size_t __kmps_stacksize = KMP_DEFAULT_STKSIZE;
177 void __kmps_set_stacksize(
int arg ) {
179 __kmps_stacksize = arg;
182 int __kmps_get_stacksize(
void ) {
184 return __kmps_stacksize;
187 static kmp_sched_t __kmps_sched_kind = kmp_sched_default;
188 static int __kmps_sched_modifier = 0;
190 void __kmps_set_schedule( kmp_sched_t kind,
int modifier ) {
192 __kmps_sched_kind = kind;
193 __kmps_sched_modifier = modifier;
196 void __kmps_get_schedule( kmp_sched_t *kind,
int *modifier ) {
198 *kind = __kmps_sched_kind;
199 *modifier = __kmps_sched_modifier;
204 static kmp_proc_bind_t __kmps_proc_bind = proc_bind_false;
206 void __kmps_set_proc_bind( kmp_proc_bind_t arg ) {
208 __kmps_proc_bind = arg;
211 kmp_proc_bind_t __kmps_get_proc_bind(
void ) {
213 return __kmps_proc_bind;
218 double __kmps_get_wtime(
void ) {
223 if ( frequency > 0.0 ) {
225 BOOL status = QueryPerformanceCounter( & now );
227 wtime = double( now.QuadPart ) / frequency;
234 rc = gettimeofday( & tval, NULL );
236 wtime = (double)( tval.tv_sec ) + 1.0E-06 * (double)( tval.tv_usec );
244 double __kmps_get_wtick(
void ) {
254 rc = GetSystemTimeAdjustment( & adjustment, & increment, & disabled );
256 wtick = 1.0E-07 * (double)( disabled ? increment : adjustment );