summaryrefslogtreecommitdiff
path: root/src/lib/omp.h
diff options
context:
space:
mode:
authorMagnus Lundborg <lundborg.magnus@gmail.com>2013-01-07 17:40:22 (GMT)
committerMagnus Lundborg <lundborg.magnus@gmail.com>2013-01-07 17:40:22 (GMT)
commit8f32a616b110b9f9510c289aef8c6e5d8e47b5f3 (patch)
tree813c349a8afebb76bfaf419ea27295c4a1cf6e39 /src/lib/omp.h
parent66c23a4d447ad6c7a1c04b76a3e302e25614e9a3 (diff)
Additional example using a very light md implementation using openmp. Data is saved during simulation.
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