libgomp_g.h

Go to the documentation of this file.
00001 /*  The libgomp's interface to the compiler 
00002  *
00003  *  Basically this is a copy of gcc_release/libgomp/libgomp_g.h
00004  *
00005  *  */
00006 #ifndef LIBGOMP_G_H 
00007 #define LIBGOMP_G_H
00008 
00009 #ifdef __cplusplus
00010 extern "C" {
00011 #endif
00012 
00013 #include <stdbool.h>
00014 extern void GOMP_barrier (void);
00015 
00016 extern void GOMP_critical_start (void); 
00017 extern void GOMP_critical_end (void);
00018 extern void GOMP_critical_name_start (void **);
00019 extern void GOMP_critical_name_end (void **);
00020 extern void GOMP_atomic_start (void);
00021 extern void GOMP_atomic_end (void);
00022 
00023 extern bool GOMP_loop_static_start (long, long, long, long, long *, long *);
00024 extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *);
00025 extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *);
00026 extern bool GOMP_loop_runtime_start (long, long, long, long *, long *);
00027 
00028 extern bool GOMP_loop_ordered_static_start (long, long, long, long, long *, long *);
00029 extern bool GOMP_loop_ordered_dynamic_start (long, long, long, long, long *, long *);
00030 extern bool GOMP_loop_ordered_guided_start (long, long, long, long, long *, long *);
00031 extern bool GOMP_loop_ordered_runtime_start (long, long, long, long *, long *);
00032 
00033 extern bool GOMP_loop_static_next (long *, long *);
00034 extern bool GOMP_loop_dynamic_next (long *, long *);
00035 extern bool GOMP_loop_guided_next (long *, long *);
00036 extern bool GOMP_loop_runtime_next (long *, long *);
00037 
00038 extern bool GOMP_loop_ordered_static_next (long *, long *);
00039 extern bool GOMP_loop_ordered_dynamic_next (long *, long *);
00040 extern bool GOMP_loop_ordered_guided_next (long *, long *);
00041 extern bool GOMP_loop_ordered_runtime_next (long *, long *);
00042 
00043 extern void GOMP_parallel_loop_static_start (void (*)(void *), void *,
00044                                              unsigned, long, long, long, long);
00045 extern void GOMP_parallel_loop_dynamic_start (void (*)(void *), void *,
00046                                              unsigned, long, long, long, long);
00047 extern void GOMP_parallel_loop_guided_start (void (*)(void *), void *,
00048                                              unsigned, long, long, long, long);
00049 extern void GOMP_parallel_loop_runtime_start (void (*)(void *), void *,
00050                                               unsigned, long, long, long);
00051 extern void GOMP_loop_end (void);
00052 extern void GOMP_loop_end_nowait (void);
00053 
00054 extern bool GOMP_loop_ull_static_start (bool, unsigned long long,
00055                                         unsigned long long,
00056                                         unsigned long long,
00057                                         unsigned long long,
00058                                         unsigned long long *,
00059                                         unsigned long long *);
00060 extern bool GOMP_loop_ull_dynamic_start (bool, unsigned long long,
00061                                          unsigned long long,
00062                                          unsigned long long,
00063                                          unsigned long long,
00064                                          unsigned long long *,
00065                                          unsigned long long *);
00066 extern bool GOMP_loop_ull_guided_start (bool, unsigned long long,
00067                                         unsigned long long,
00068                                         unsigned long long,
00069                                         unsigned long long,
00070                                         unsigned long long *,
00071                                         unsigned long long *);
00072 extern bool GOMP_loop_ull_runtime_start (bool, unsigned long long,
00073                                          unsigned long long,
00074                                          unsigned long long,
00075                                          unsigned long long *,
00076                                          unsigned long long *);
00077 
00078 extern bool GOMP_loop_ull_ordered_static_start (bool, unsigned long long,
00079                                                 unsigned long long,
00080                                                 unsigned long long,
00081                                                 unsigned long long,
00082                                                 unsigned long long *,
00083                                                 unsigned long long *);
00084 extern bool GOMP_loop_ull_ordered_dynamic_start (bool, unsigned long long,
00085                                                  unsigned long long,
00086                                                  unsigned long long,
00087                                                  unsigned long long,
00088                                                  unsigned long long *,
00089                                                  unsigned long long *);
00090 extern bool GOMP_loop_ull_ordered_guided_start (bool, unsigned long long,
00091                                                 unsigned long long,
00092                                                 unsigned long long,
00093                                                 unsigned long long,
00094                                                 unsigned long long *,
00095                                                 unsigned long long *);
00096 extern bool GOMP_loop_ull_ordered_runtime_start (bool, unsigned long long,
00097                                                  unsigned long long,
00098                                                  unsigned long long,
00099                                                  unsigned long long *,
00100                                                  unsigned long long *);
00101 
00102 extern bool GOMP_loop_ull_static_next (unsigned long long *,
00103                                        unsigned long long *);
00104 extern bool GOMP_loop_ull_dynamic_next (unsigned long long *,
00105                                         unsigned long long *);
00106 extern bool GOMP_loop_ull_guided_next (unsigned long long *,
00107                                        unsigned long long *);
00108 extern bool GOMP_loop_ull_runtime_next (unsigned long long *,
00109                                         unsigned long long *);
00110 
00111 extern bool GOMP_loop_ull_ordered_static_next (unsigned long long *,
00112                                                unsigned long long *);
00113 extern bool GOMP_loop_ull_ordered_dynamic_next (unsigned long long *,
00114                                                 unsigned long long *);
00115 
00116 extern void GOMP_ordered_start (void);
00117 extern void GOMP_ordered_end (void);
00118 /* void GOMP_parallel_start (void (*func) (void *), void *data, unsigned num_threads_specified); 
00119  *  func: pointer to the function to be run in parallel
00120  *  data: a pointer to a structure used to communicate data in and out of the subfunction
00121  *  num_threads_specified: is a combination of the NUM_THREADS clause and the IF clause
00122  *    is 1 if an IF clause is present and false, or the value of the NUM_THREADS clause, if present, or 0  by default
00123  *  GOMP has an internal function (gomp_resolve_num_threads()) to determine the actual number of threads to be used.
00124  *  */
00125 extern void GOMP_parallel_start (void (*) (void *), void *, unsigned);
00126 extern void GOMP_parallel_end (void);
00127 
00128 extern void GOMP_task (void (*) (void *), void *, void (*) (void *, void *),
00129                        long, long, bool, unsigned);
00130 extern void GOMP_taskwait (void);
00131 
00132 extern unsigned GOMP_sections_start (unsigned);
00133 extern unsigned GOMP_sections_next (void);
00134 extern void GOMP_parallel_sections_start (void (*) (void *), void *,
00135                                           unsigned, unsigned);
00136 extern void GOMP_sections_end (void);
00137 extern void GOMP_sections_end_nowait (void);
00138 
00139 extern bool GOMP_single_start (void);
00140 extern void *GOMP_single_copy_start (void);
00141 extern void GOMP_single_copy_end (void *);
00142 
00143 
00144 #ifdef __cplusplus
00145  }
00146 #endif
00147  
00148 #endif /* LIBGOMP_G_H */
00149 
00150 
00151 
00152  

Generated on Sat May 19 00:53:06 2012 for ROSE by  doxygen 1.4.7