ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
libxomp.h File Reference
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <assert.h>
#include <sys/time.h>
Include dependency graph for libxomp.h:

Go to the source code of this file.

Classes

struct  XOMP_accelerator_thread
 
struct  XOMP_mapped_variable
 
struct  DDE_data
 

Macros

#define MAX_OUTLINED_FUNC_PARAMETER_COUNT   256
 
#define XOMP_REDUCTION_PLUS   6
 
#define XOMP_REDUCTION_MINUS   7
 
#define XOMP_REDUCTION_MUL   8
 
#define XOMP_REDUCTION_BITAND   9
 
#define XOMP_REDUCTION_BITOR   10
 
#define XOMP_REDUCTION_BITXOR   11
 
#define XOMP_REDUCTION_LOGAND   12
 
#define XOMP_REDUCTION_LOGOR   13
 
#define XOMP_BEYOND_BLOCK_REDUCTION_DECL(dtype)   dtype xomp_beyond_block_reduction_##dtype(dtype * per_block_results, int numBlocks, int reduction_op);
 
#define XOMP_MAX_MAPPED_VARS   256
 

Functions

double xomp_time_stamp (void)
 
void XOMP_init (int argc, char **argv)
 
void xomp_init (void)
 
void XOMP_terminate (int exitcode)
 
void XOMP_parallel_start (void(*func)(void *), void *data, unsigned ifClauseValue, unsigned numThreadsSpecified, char *file_name, int line_no)
 
void XOMP_parallel_end (char *file_name, int line_no)
 
int XOMP_sections_init_next (int section_count)
 
int XOMP_sections_next (void)
 
void XOMP_sections_end (void)
 
void XOMP_sections_end_nowait (void)
 
void XOMP_task (void(*)(void *), void *, void(*)(void *, void *), long, long, bool, unsigned)
 
void XOMP_taskwait (void)
 
void XOMP_loop_default (int lower, int upper, int stride, long *n_lower, long *n_upper)
 
void XOMP_loop_static_init (int lower, int upper, int stride, int chunk_size)
 Optional init functions, mostly used for working with omni RTL. More...
 
void XOMP_loop_dynamic_init (int lower, int upper, int stride, int chunk_size)
 
void XOMP_loop_guided_init (int lower, int upper, int stride, int chunk_size)
 
void XOMP_loop_runtime_init (int lower, int upper, int stride)
 
void XOMP_loop_ordered_static_init (int lower, int upper, int stride, int chunk_size)
 
void XOMP_loop_ordered_dynamic_init (int lower, int upper, int stride, int chunk_size)
 
void XOMP_loop_ordered_guided_init (int lower, int upper, int stride, int chunk_size)
 
void XOMP_loop_ordered_runtime_init (int lower, int upper, int stride)
 
bool XOMP_loop_static_start (long, long, long, long, long *, long *)
 
bool XOMP_loop_dynamic_start (long, long, long, long, long *, long *)
 
bool XOMP_loop_guided_start (long, long, long, long, long *, long *)
 
bool XOMP_loop_runtime_start (long, long, long, long *, long *)
 
bool XOMP_loop_ordered_static_start (long, long, long, long, long *, long *)
 
bool XOMP_loop_ordered_dynamic_start (long, long, long, long, long *, long *)
 
bool XOMP_loop_ordered_guided_start (long, long, long, long, long *, long *)
 
bool XOMP_loop_ordered_runtime_start (long, long, long, long *, long *)
 
bool XOMP_loop_static_next (long *, long *)
 
bool XOMP_loop_dynamic_next (long *, long *)
 
bool XOMP_loop_guided_next (long *, long *)
 
bool XOMP_loop_runtime_next (long *, long *)
 
bool XOMP_loop_ordered_static_next (long *, long *)
 
bool XOMP_loop_ordered_dynamic_next (long *, long *)
 
bool XOMP_loop_ordered_guided_next (long *, long *)
 
bool XOMP_loop_ordered_runtime_next (long *, long *)
 
void XOMP_barrier (void)
 
void XOMP_critical_start (void **data)
 
void XOMP_critical_end (void **data)
 
bool XOMP_single (void)
 
bool XOMP_master (void)
 
void XOMP_atomic_start (void)
 
void XOMP_atomic_end (void)
 
void XOMP_loop_end (void)
 
void XOMP_loop_end_nowait (void)
 
void XOMP_flush_all (void)
 
void XOMP_flush_one (char *startAddress, int nbyte)
 
void XOMP_ordered_start (void)
 
void XOMP_ordered_end (void)
 
size_t xomp_get_maxThreadsPerBlock ()
 
size_t xomp_get_max1DBlock (size_t ss)
 
size_t xomp_get_max_threads_per_dimesion_2D ()
 
size_t xomp_get_maxSegmentsPerDimensionOf2DBlock (size_t dimension_size)
 
void * xomp_deviceMalloc (size_t size)
 
void * xomp_hostMalloc (size_t size)
 
void * xomp_memcpyHostToDevice (void *dest, const void *src, size_t n_n)
 
void * xomp_memcpyDeviceToHost (void *dest, const void *src, size_t n_n)
 
void * xomp_memcpyDynamicHostToDevice (void *dest, const void *src, int *dimensions, size_t dimension_size, size_t element_size, size_t *bytes_copied)
 
void * xomp_memcpyDynamicDeviceToHost (void *dest, int *dimensions, size_t dimension_size, const void *src, size_t element_size, size_t *bytes_copied)
 
void * xomp_memcpyDeviceToDevice (void *dest, const void *src, size_t n_n)
 
void * xomp_memcpyHostToHost (void *dest, const void *src, size_t n_n)
 
bool xomp_freeDevice (void *devPtr)
 
bool xomp_freeHost (void *hostPtr)
 
void * xomp_mallocArray (int *dimensions, size_t dimension_num, size_t esize)
 
void xomp_freeArrayPointer (void *array, int *dimensions, size_t dimension_num)
 
void copy_mapped_variable (struct XOMP_mapped_variable *desc, struct XOMP_mapped_variable *src)
 A helper function to copy a mapped variable from src to desc. More...
 
void xomp_deviceDataEnvironmentEnter ()
 
void * xomp_deviceDataEnvironmentGetInheritedVariable (void *original_variable_address, int size)
 
void xomp_deviceDataEnvironmentAddVariable (void *var_addr, int var_size, void *dev_addr, bool copy_back)
 Add a newly mapped variable into the current DDE's new variable list. More...
 
void xomp_deviceDataEnvironmentExit ()
 

Variables

int env_region_instr_val
 
struct DDE_dataDDE_head
 
struct DDE_dataDDE_tail
 

Macro Definition Documentation

#define MAX_OUTLINED_FUNC_PARAMETER_COUNT   256

Definition at line 10 of file libxomp.h.

#define XOMP_REDUCTION_PLUS   6

Definition at line 230 of file libxomp.h.

#define XOMP_REDUCTION_MINUS   7

Definition at line 231 of file libxomp.h.

#define XOMP_REDUCTION_MUL   8

Definition at line 232 of file libxomp.h.

#define XOMP_REDUCTION_BITAND   9

Definition at line 233 of file libxomp.h.

#define XOMP_REDUCTION_BITOR   10

Definition at line 234 of file libxomp.h.

#define XOMP_REDUCTION_BITXOR   11

Definition at line 235 of file libxomp.h.

#define XOMP_REDUCTION_LOGAND   12

Definition at line 236 of file libxomp.h.

#define XOMP_REDUCTION_LOGOR   13

Definition at line 237 of file libxomp.h.

#define XOMP_BEYOND_BLOCK_REDUCTION_DECL (   dtype)    dtype xomp_beyond_block_reduction_##dtype(dtype * per_block_results, int numBlocks, int reduction_op);

Definition at line 254 of file libxomp.h.

#define XOMP_MAX_MAPPED_VARS   256

Definition at line 281 of file libxomp.h.

Function Documentation

double xomp_time_stamp ( void  )
void XOMP_init ( int  argc,
char **  argv 
)
void xomp_init ( void  )
void XOMP_terminate ( int  exitcode)
void XOMP_parallel_start ( void(*)(void *)  func,
void *  data,
unsigned  ifClauseValue,
unsigned  numThreadsSpecified,
char *  file_name,
int  line_no 
)
void XOMP_parallel_end ( char *  file_name,
int  line_no 
)
int XOMP_sections_init_next ( int  section_count)
int XOMP_sections_next ( void  )
void XOMP_sections_end ( void  )
void XOMP_sections_end_nowait ( void  )
void XOMP_task ( void(*)(void *)  ,
void *  ,
void(*)(void *, void *)  ,
long  ,
long  ,
bool  ,
unsigned   
)
void XOMP_taskwait ( void  )
void XOMP_loop_default ( int  lower,
int  upper,
int  stride,
long *  n_lower,
long *  n_upper 
)
void XOMP_loop_static_init ( int  lower,
int  upper,
int  stride,
int  chunk_size 
)

Optional init functions, mostly used for working with omni RTL.

void XOMP_loop_dynamic_init ( int  lower,
int  upper,
int  stride,
int  chunk_size 
)
void XOMP_loop_guided_init ( int  lower,
int  upper,
int  stride,
int  chunk_size 
)
void XOMP_loop_runtime_init ( int  lower,
int  upper,
int  stride 
)
void XOMP_loop_ordered_static_init ( int  lower,
int  upper,
int  stride,
int  chunk_size 
)
void XOMP_loop_ordered_dynamic_init ( int  lower,
int  upper,
int  stride,
int  chunk_size 
)
void XOMP_loop_ordered_guided_init ( int  lower,
int  upper,
int  stride,
int  chunk_size 
)
void XOMP_loop_ordered_runtime_init ( int  lower,
int  upper,
int  stride 
)
bool XOMP_loop_static_start ( long  ,
long  ,
long  ,
long  ,
long *  ,
long *   
)
bool XOMP_loop_dynamic_start ( long  ,
long  ,
long  ,
long  ,
long *  ,
long *   
)
bool XOMP_loop_guided_start ( long  ,
long  ,
long  ,
long  ,
long *  ,
long *   
)
bool XOMP_loop_runtime_start ( long  ,
long  ,
long  ,
long *  ,
long *   
)
bool XOMP_loop_ordered_static_start ( long  ,
long  ,
long  ,
long  ,
long *  ,
long *   
)
bool XOMP_loop_ordered_dynamic_start ( long  ,
long  ,
long  ,
long  ,
long *  ,
long *   
)
bool XOMP_loop_ordered_guided_start ( long  ,
long  ,
long  ,
long  ,
long *  ,
long *   
)
bool XOMP_loop_ordered_runtime_start ( long  ,
long  ,
long  ,
long *  ,
long *   
)
bool XOMP_loop_static_next ( long *  ,
long *   
)
bool XOMP_loop_dynamic_next ( long *  ,
long *   
)
bool XOMP_loop_guided_next ( long *  ,
long *   
)
bool XOMP_loop_runtime_next ( long *  ,
long *   
)
bool XOMP_loop_ordered_static_next ( long *  ,
long *   
)
bool XOMP_loop_ordered_dynamic_next ( long *  ,
long *   
)
bool XOMP_loop_ordered_guided_next ( long *  ,
long *   
)
bool XOMP_loop_ordered_runtime_next ( long *  ,
long *   
)
void XOMP_barrier ( void  )
void XOMP_critical_start ( void **  data)
void XOMP_critical_end ( void **  data)
bool XOMP_single ( void  )
bool XOMP_master ( void  )
void XOMP_atomic_start ( void  )
void XOMP_atomic_end ( void  )
void XOMP_loop_end ( void  )
void XOMP_loop_end_nowait ( void  )
void XOMP_flush_all ( void  )
void XOMP_flush_one ( char *  startAddress,
int  nbyte 
)
void XOMP_ordered_start ( void  )
void XOMP_ordered_end ( void  )
size_t xomp_get_maxThreadsPerBlock ( )
size_t xomp_get_max1DBlock ( size_t  ss)
size_t xomp_get_max_threads_per_dimesion_2D ( )
size_t xomp_get_maxSegmentsPerDimensionOf2DBlock ( size_t  dimension_size)
void* xomp_deviceMalloc ( size_t  size)
void* xomp_hostMalloc ( size_t  size)
void* xomp_memcpyHostToDevice ( void *  dest,
const void *  src,
size_t  n_n 
)
void* xomp_memcpyDeviceToHost ( void *  dest,
const void *  src,
size_t  n_n 
)
void* xomp_memcpyDynamicHostToDevice ( void *  dest,
const void *  src,
int *  dimensions,
size_t  dimension_size,
size_t  element_size,
size_t *  bytes_copied 
)
void* xomp_memcpyDynamicDeviceToHost ( void *  dest,
int *  dimensions,
size_t  dimension_size,
const void *  src,
size_t  element_size,
size_t *  bytes_copied 
)
void* xomp_memcpyDeviceToDevice ( void *  dest,
const void *  src,
size_t  n_n 
)
void* xomp_memcpyHostToHost ( void *  dest,
const void *  src,
size_t  n_n 
)
bool xomp_freeDevice ( void *  devPtr)
bool xomp_freeHost ( void *  hostPtr)
void* xomp_mallocArray ( int *  dimensions,
size_t  dimension_num,
size_t  esize 
)
void xomp_freeArrayPointer ( void *  array,
int *  dimensions,
size_t  dimension_num 
)
void copy_mapped_variable ( struct XOMP_mapped_variable desc,
struct XOMP_mapped_variable src 
)

A helper function to copy a mapped variable from src to desc.

void xomp_deviceDataEnvironmentEnter ( )
void* xomp_deviceDataEnvironmentGetInheritedVariable ( void *  original_variable_address,
int  size 
)
void xomp_deviceDataEnvironmentAddVariable ( void *  var_addr,
int  var_size,
void *  dev_addr,
bool  copy_back 
)

Add a newly mapped variable into the current DDE's new variable list.

void xomp_deviceDataEnvironmentExit ( )

Variable Documentation

int env_region_instr_val
struct DDE_data* DDE_head
struct DDE_data* DDE_tail