OpenMP Runtime
gomp.h
00001 #ifndef GOMP_H_
00002 #define GOMP_H_
00003 
00004 #include <stdbool.h>
00005 
00006 extern void GOMP_barrier (void);
00007 
00008 extern void GOMP_critical_start (void);
00009 extern void GOMP_critical_end (void);
00010 
00011 extern void GOMP_atomic_start (void);
00012 extern void GOMP_atomic_end (void);
00013 
00014 extern void GOMP_parallel_start (void (*fn) (void *), unsigned char *data,
00015                                  unsigned int num_threads);
00016 extern void GOMP_parallel_end(void);
00017 
00018 extern void GOMP_task (void (*fn) (void *), unsigned char *data,
00019                         void (*cpyfn)(unsigned char *, unsigned char *),
00020                         int arg_size, int arg_align, int if_clause, int flags);
00021 extern void GOMP_taskwait(void);
00022 
00023 extern unsigned char GOMP_single_start(void);
00024 extern void          GOMP_single_copy_start(void);
00025 extern void          GOMP_single_copy_end(void *data);
00026 
00027 extern bool GOMP_loop_static_start (long start, long end, long incr, 
00028                                     long chunk_size, long *istart, long *iend);
00029 extern bool GOMP_loop_dynamic_start(long start, long end, long incr, 
00030                                     long chunk_size, long *istart, long *iend);
00031 extern bool GOMP_loop_guided_start (long start, long end, long incr, 
00032                                     long chunk_size, long *istart, long *iend);
00033 extern bool GOMP_loop_runtime_start (long start, long end, long incr,
00034                                      long *istart, long *iend);
00035 
00036 extern bool GOMP_loop_static_next  (long *istart, long *iend);
00037 extern bool GOMP_loop_dynamic_next (long *istart, long *iend);
00038 extern bool GOMP_loop_guided_next  (long *istart, long *iend);
00039 extern bool GOMP_loop_runtime_next (long *istart, long *iend);
00040 
00041 extern void GOMP_parallel_loop_static_start (void (*fn) (void *), void *data,
00042                                  unsigned num_threads, long start, long end,
00043                                  long incr, long chunk_size);
00044 extern void GOMP_parallel_loop_dynamic_start (void (*fn) (void *), void *data,
00045                                   unsigned num_threads, long start, long end,
00046                                   long incr, long chunk_size);
00047 extern void GOMP_parallel_loop_guided_start (void (*fn) (void *), void *data,
00048                                  unsigned num_threads, long start, long end,
00049                                  long incr, long chunk_size);
00050 extern void GOMP_parallel_loop_runtime_start (void (*fn) (void *), void *data,
00051                                   unsigned num_threads, long start, long end,
00052                                   long incr);
00053 
00054 extern void GOMP_loop_end        (void);
00055 extern void GOMP_loop_end_nowait (void);
00056 
00057 /* sections */
00058 extern unsigned GOMP_sections_start      (unsigned count);
00059 extern unsigned GOMP_sections_next       (void);
00060 extern void     GOMP_sections_end        (void);
00061 extern void     GOMP_sections_end_nowait (void);
00062 extern void     GOMP_parallel_sections_start (void (*fn) (void *), void *data,
00063                                           unsigned num_threads, unsigned count);
00064 /* ordered */
00065 extern void GOMP_ordered_start       (void);
00066 extern void GOMP_ordered_end         (void);
00067 extern bool GOMP_loop_ordered_static_start (long start, long end, long incr, 
00068                                     long chunk_size, long *istart, long *iend);
00069 extern bool GOMP_loop_ordered_dynamic_start(long start, long end, long incr, 
00070                                     long chunk_size, long *istart, long *iend);
00071 extern bool GOMP_loop_ordered_guided_start (long start, long end, long incr, 
00072                                     long chunk_size, long *istart, long *iend);
00073 extern bool GOMP_loop_ordered_runtime_start (long start, long end, long incr,
00074                                      long *istart, long *iend);
00075 
00076 extern bool GOMP_loop_ordered_static_next  (long *istart, long *iend);
00077 extern bool GOMP_loop_ordered_dynamic_next (long *istart, long *iend);
00078 extern bool GOMP_loop_ordered_guided_next  (long *istart, long *iend);
00079 extern bool GOMP_loop_ordered_runtime_next (long *istart, long *iend);
00080 
00081 extern void    __gomp_flush0 (void);
00082 
00083 #endif /* GOMP_H_ */
 All Classes Files Functions Variables Typedefs Enumerations Defines