summaryrefslogtreecommitdiff
path: root/src/lib/omp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/omp.h')
-rw-r--r--src/lib/omp.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/lib/omp.h b/src/lib/omp.h
new file mode 100644
index 0000000..179797f
--- /dev/null
+++ b/src/lib/omp.h
@@ -0,0 +1,63 @@
+#ifndef _OMP_H_DEF
+#define _OMP_H_DEF
+/*
+ Define the lock data types
+*/
+typedef void *omp_lock_t;
+typedef void *omp_nest_lock_t;
+/*
+ Define the schedule kinds.
+ Add vendor specific schedule constants at end.
+*/
+typedef enum omp_sched_t
+{
+ omp_sched_static = 1,
+ omp_sched_dynamic = 2,
+ omp_sched_guided = 3,
+ omp_sched_auto = 4
+} omp_sched_t;
+/*
+ Exported OpenMP functions
+*/
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+extern void omp_destroy_lock ( omp_lock_t *lock );
+extern void omp_destroy_nest_lock ( omp_nest_lock_t *lock );
+extern int omp_get_active_level ( void );
+extern int omp_get_ancestor_thread_num ( int level );
+extern int omp_get_dynamic ( void );
+extern int omp_get_level ( void );
+extern int omp_get_max_active_levels ( void );
+extern int omp_get_max_threads ( void );
+extern int omp_get_nested ( void );
+extern int omp_get_num_procs ( void );
+extern int omp_get_num_threads ( void );
+extern void omp_get_schedule ( omp_sched_t *kind, int *modifier );
+extern int omp_get_team_size ( int level );
+extern int omp_get_thread_limit ( void );
+extern int omp_get_thread_num ( void );
+extern double omp_get_wtick ( void );
+extern double omp_get_wtime ( void );
+extern int omp_in_final ( void );
+extern int omp_in_parallel ( void );
+extern void omp_init_lock ( omp_lock_t *lock );
+extern void omp_init_nest_lock ( omp_nest_lock_t *lock );
+extern void omp_set_dynamic ( int dynamic_threads );
+extern void omp_set_lock ( omp_lock_t *lock );
+extern void omp_set_max_active_levels ( int max_active_levels );
+extern void omp_set_nest_lock ( omp_nest_lock_t *lock );
+extern void omp_set_nested ( int nested );
+extern void omp_set_num_threads ( int num_threads );
+extern void omp_set_schedule ( omp_sched_t kind, int modifier );
+extern int omp_test_lock ( omp_lock_t *lock );
+extern int omp_test_nest_lock ( omp_nest_lock_t *lock );
+extern void omp_unset_lock ( omp_lock_t *lock );
+extern void omp_unset_nest_lock ( omp_nest_lock_t *lock );
+
+#ifdef __cplusplus
+}
+#endif
+#endif \ No newline at end of file
contact: Jan Huwald // Impressum