• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

sst/elements/genericProc/programs/qthread-1.4/include/rose_xomp.h

00001 #ifndef ROSE_XOMP_H
00002 #define ROSE_XOMP_H
00003 
00004 #include <qthread/qloop.h>             // for qqloop_handle_t
00005 
00006 //Runtime library initialization routine
00007 void XOMP_init(
00008     int argc,
00009     char **argv);
00010 // Runtime library termination routine
00011 void XOMP_terminate(
00012     int exitcode);
00013 void XOMP_parallel_start(
00014     void (*func) (void *),
00015     void *data,
00016     unsigned numThread);
00017 void XOMP_parallel_end(
00018     void);
00019 qqloop_handle_t *qt_loop_rose_queue_create(
00020     int64_t start,
00021     int64_t stop,
00022     int64_t incr);
00023 void XOMP_loop_guided_init(
00024     int lower,
00025     int upper,
00026     int stride,
00027     int chunk_size);
00028 unsigned char XOMP_loop_guided_start(
00029     long startLower,
00030     long startUpper,
00031     long stride,
00032     long chunk_size,
00033     long *returnLower,
00034     long *returnUpper);
00035 unsigned char XOMP_loop_guided_next(
00036     long *returnLower,
00037     long *returnUpper);
00038 void XOMP_loop_end(
00039     void);
00040 void XOMP_loop_end_nowait(
00041     void);
00042 void XOMP_barrier(
00043     void);
00044 void XOMP_atomic_start(
00045     void);
00046 void XOMP_atomic_end(
00047     void);
00048 // needed for full OpenMP 3.0 support
00049 void XOMP_loop_ordered_guided_init(
00050     int lower,
00051     int upper,
00052     int stride,
00053     int chunk_size);
00054 unsigned char XOMP_loop_ordered_guided_start(
00055     long a,
00056     long b,
00057     long c,
00058     long d,
00059     long *e,
00060     long *f);
00061 unsigned char XOMP_loop_ordered_guided_next(
00062     long *a,
00063     long *b);
00064 void XOMP_task(
00065     void (*a) (void *),
00066     void *b,
00067     void (*c) (void *,
00068                void *),
00069     long d,
00070     long e,
00071     unsigned char f,
00072     unsigned g);
00073 void XOMP_taskwait(
00074     void);
00075 void XOMP_loop_static_init(
00076     int lower,
00077     int upper,
00078     int stride,
00079     int chunk_size);
00080 void XOMP_loop_dynamic_init(
00081     int lower,
00082     int upper,
00083     int stride,
00084     int chunk_size);
00085 void XOMP_loop_runtime_init(
00086     int lower,
00087     int upper,
00088     int stride);
00089 //ordered case
00090 void XOMP_loop_ordered_static_init(
00091     int lower,
00092     int upper,
00093     int stride,
00094     int chunk_size);
00095 void XOMP_loop_ordered_dynamic_init(
00096     int lower,
00097     int upper,
00098     int stride,
00099     int chunk_size);
00100 void XOMP_loop_ordered_runtime_init(
00101     int lower,
00102     int upper,
00103     int stride);
00104 // rest of the functions
00105 // omp ordered directive
00106 void XOMP_ordered_start(
00107     void);
00108 void XOMP_ordered_end(
00109     void);
00110 unsigned char XOMP_loop_static_start(
00111     long a,
00112     long b,
00113     long c,
00114     long d,
00115     long *e,
00116     long *f);
00117 unsigned char XOMP_loop_dynamic_start(
00118     long a,
00119     long b,
00120     long c,
00121     long d,
00122     long *e,
00123     long *f);
00124 unsigned char XOMP_loop_runtime_start(
00125     long a,
00126     long b,
00127     long c,
00128     long *d,
00129     long *e);
00130 unsigned char XOMP_loop_ordered_static_start(
00131     long a,
00132     long b,
00133     long c,
00134     long d,
00135     long *e,
00136     long *f);
00137 unsigned char XOMP_loop_ordered_dynamic_start(
00138     long a,
00139     long b,
00140     long c,
00141     long d,
00142     long *e,
00143     long *f);
00144 unsigned char XOMP_loop_ordered_runtime_start(
00145     long a,
00146     long b,
00147     long c,
00148     long *d,
00149     long *e);
00150 // next
00151 unsigned char XOMP_loop_static_next(
00152     long *a,
00153     long *b);
00154 unsigned char XOMP_loop_dynamic_next(
00155     long *a,
00156     long *b);
00157 unsigned char XOMP_loop_runtime_next(
00158     long *a,
00159     long *b);
00160 unsigned char XOMP_loop_ordered_static_next(
00161     long *a,
00162     long *b);
00163 unsigned char XOMP_loop_ordered_dynamic_next(
00164     long *a,
00165     long *b);
00166 unsigned char XOMP_loop_ordered_runtime_next(
00167     long *a,
00168     long *b);
00169 void XOMP_critical_start(
00170     void **data);
00171 void XOMP_critical_end(
00172     void **data);
00173 unsigned char XOMP_single(
00174     void);
00175 unsigned char XOMP_master(
00176     void);
00177 // flush without variable list
00178 void XOMP_flush_all(
00179     void);
00180 // omp flush with variable list, flush one by one, given each's start address and size
00181 void XOMP_flush_one(
00182     char *startAddress,
00183     int nbyte);
00184 #endif

Generated on Fri Oct 22 2010 11:02:24 for SST by  doxygen 1.7.1