osprey/libopenmp/omp_rtl.h File Reference

#include "omp_util.h"
#include "omp_type.h"
#include <pthread.h>
#include "omp_lock.h"

Include dependency graph for omp_rtl.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Types

type  omp_u_thread

Defines

#define CACHE_LINE_SIZE   64
#define CACHE_LINE_SIZE_L2L3   128
#define OMP_NESTED_DEFAULT   0
#define OMP_DYNAMIC_DEFAULT   0
#define OMP_NUM_THREADS_DEFAULT   4
#define OMP_MAX_NUM_THREADS   256
#define OMP_STACK_SIZE_DEFAULT   0x400000L
#define OMP_POINTER_SIZE   8
#define OMP_SCHEDULE_DEFAULT   2
#define OMP_CHUNK_SIZE_DEFAULT   1
#define OMP_SCHED_ORDERED_GAP   30
#define frame_pointer_t   char*

Typedefs

typedef void(* omp_micro )(int, frame_pointer_t)
typedef void *(* pthread_entry )(void *)
typedef struct omp_u_thread omp_u_thread_t
typedef struct omp_v_thread omp_v_thread_t
typedef struct omp_team omp_team_t

Enumerations

enum  omp_sched_t {
  OMP_SCHED_UNKNOWN = 0, OMP_SCHED_STATIC = 1, OMP_SCHED_STATIC_EVEN = 2, OMP_SCHED_DYNAMIC = 3,
  OMP_SCHED_GUIDED = 4, OMP_SCHED_RUNTIME = 5, OMP_SCHED_ORDERED_UNKNOWN = 32, OMP_SCHED_ORDERED_STATIC = 33,
  OMP_SCHED_ORDERED_STATIC_EVEN = 34, OMP_SCHED_ORDERED_DYNAMIC = 35, OMP_SCHED_ORDERED_GUIDED = 36, OMP_SCHED_ORDERED_RUNTIME = 37,
  OMP_SCHED_DEFAULT = OMP_SCHED_STATIC_EVEN, OMP_SCHED_UNKNOWN = 0, OMP_SCHED_STATIC = 1, OMP_SCHED_STATIC_EVEN = 2,
  OMP_SCHED_DYNAMIC = 3, OMP_SCHED_GUIDED = 4, OMP_SCHED_RUNTIME = 5, OMP_SCHED_ORDERED_STATIC = 31,
  OMP_SCHED_ORDERED_STATIC_EVEN = 32, OMP_SCHED_ORDERED_DYNAMIC = 33, OMP_SCHED_ORDERED_GUIDED = 34, OMP_SCHED_ORDERED_RUNTIME = 35
}
enum  omp_exe_mode_t {
  OMP_EXE_MODE_SEQUENTIAL = 1, OMP_EXE_MODE_NORMAL = 2, OMP_EXE_MODE_NESTED = 4, OMP_EXE_MODE_NESTED_SEQUENTIAL = 8,
  OMP_EXE_MODE_DEFAULT = OMP_EXE_MODE_SEQUENTIAL, OMP_EXE_MODE_EXE_SEQUENTIAL = 9, OMP_EXE_MODE_EXE_PARALLEL = 6, OMP_EXE_MODE_IN_PARALLEL = 14
}

Functions/Subroutines

 __attribute__ ((__aligned__(CACHE_LINE_SIZE))) struct omp_team
 __attribute__ ((__aligned__(CACHE_LINE_SIZE_L2L3))) struct omp_v_thread
void __ompc_set_nested (const int __nested)
void __ompc_set_dynamic (const int __dynamic)
int __ompc_get_dynamic (void)
int __ompc_get_nested (void)
int __ompc_get_max_threads (void)
int __ompc_get_num_procs (void)
void __ompc_set_num_threads (const int __num_threads)
int __ompc_in_parallel (void)
omp_u_thread_t__ompc_get_current_u_thread ()
omp_v_thread_t__ompc_get_current_v_thread ()
omp_v_thread_t__ompc_get_v_thread_by_num (int vthread_id)
int __ompc_get_local_thread_num (void)
int __ompc_get_num_threads (void)
omp_team_t__ompc_get_current_team (void)
void __ompc_barrier_wait (omp_team_t *team)
void __ompc_barrier (void)
void __ompc_flush (void *p)
int __ompc_ok_to_fork (void)
void __ompc_begin (void)
void __ompc_end (void)
void __ompc_fork (const int num_threads, omp_micro micro_task, frame_pointer_t frame_pointer)
void __ompc_init_lock (volatile ompc_lock_t *)
void __ompc_lock (volatile ompc_lock_t *)
void __ompc_unlock (volatile ompc_lock_t *)
void __ompc_destroy_lock (volatile ompc_lock_t *)
int __ompc_test_lock (volatile ompc_lock_t *)
void __ompc_init_nest_lock (volatile ompc_nest_lock_t *)
void __ompc_nest_lock (volatile ompc_nest_lock_t *)
void __ompc_nest_unlock (volatile ompc_nest_lock_t *)
void __ompc_destroy_nest_lock (volatile ompc_nest_lock_t *)
int __ompc_test_nest_lock (volatile ompc_nest_lock_t *)
void __ompc_critical (int gtid, volatile ompc_lock_t **lck)
void __ompc_end_critical (int gtid, volatile ompc_lock_t **lck)
void __ompc_serialized_parallel (int vthread_id)
void __ompc_end_serialized_parallel (int vthread_id)

Variables

volatile int __omp_nested
volatile int __omp_dynamic
volatile int __omp_max_num_threads
volatile int __omp_nthreads_var
int __omp_num_processors
omp_sched_t __omp_rt_sched_type
int __omp_rt_sched_size
int __omp_rtl_initialized
volatile unsigned long int __omp_stack_size
ompc_lock_t _ompc_thread_lock
volatile omp_exe_mode_t __omp_exe_mode
omp_u_thread_t__omp_level_1_pthread
int __omp_level_1_team_size
omp_team_t __omp_level_1_team_manager
int __omp_level_1_team_alloc_size
omp_u_thread_t__omp_uthread_hash_table [UTHREAD_HASH_SIZE]
pthread_t __omp_root_thread_id
omp_v_thread_t __omp_root_v_thread
omp_u_thread_t__omp_root_u_thread
omp_team_t __omp_root_team
int __ompc_sug_numthreads


Define Documentation

#define CACHE_LINE_SIZE   64

Definition at line 47 of file omp_rtl.h.

#define CACHE_LINE_SIZE_L2L3   128

Definition at line 48 of file omp_rtl.h.

#define frame_pointer_t   char*

Definition at line 96 of file omp_rtl.h.

#define OMP_CHUNK_SIZE_DEFAULT   1

Definition at line 88 of file omp_rtl.h.

#define OMP_DYNAMIC_DEFAULT   0

Definition at line 52 of file omp_rtl.h.

#define OMP_MAX_NUM_THREADS   256

Definition at line 57 of file omp_rtl.h.

Referenced by __ompc_get_thdprv().

#define OMP_NESTED_DEFAULT   0

Definition at line 51 of file omp_rtl.h.

#define OMP_NUM_THREADS_DEFAULT   4

Definition at line 53 of file omp_rtl.h.

#define OMP_POINTER_SIZE   8

Definition at line 60 of file omp_rtl.h.

#define OMP_SCHED_ORDERED_GAP   30

Definition at line 89 of file omp_rtl.h.

Referenced by __ompc_scheduler_init_4(), and __ompc_scheduler_init_8().

#define OMP_SCHEDULE_DEFAULT   2

Definition at line 87 of file omp_rtl.h.

#define OMP_STACK_SIZE_DEFAULT   0x400000L

Definition at line 58 of file omp_rtl.h.

Referenced by __ompc_environment_variables().


Typedef Documentation

typedef void(* omp_micro)(int, frame_pointer_t)

Definition at line 99 of file omp_rtl.h.

typedef struct omp_team omp_team_t

Definition at line 141 of file omp_rtl.h.

Definition at line 139 of file omp_rtl.h.

typedef struct omp_v_thread omp_v_thread_t

Definition at line 140 of file omp_rtl.h.

typedef void*(* pthread_entry)(void *)

Definition at line 100 of file omp_rtl.h.


Enumeration Type Documentation

Enumerator:
OMP_EXE_MODE_SEQUENTIAL 
OMP_EXE_MODE_NORMAL 
OMP_EXE_MODE_NESTED 
OMP_EXE_MODE_NESTED_SEQUENTIAL 
OMP_EXE_MODE_DEFAULT 
OMP_EXE_MODE_EXE_SEQUENTIAL 
OMP_EXE_MODE_EXE_PARALLEL 
OMP_EXE_MODE_IN_PARALLEL 

Definition at line 124 of file omp_rtl.h.

Enumerator:
OMP_SCHED_UNKNOWN 
OMP_SCHED_STATIC 
OMP_SCHED_STATIC_EVEN 
OMP_SCHED_DYNAMIC 
OMP_SCHED_GUIDED 
OMP_SCHED_RUNTIME 
OMP_SCHED_ORDERED_UNKNOWN 
OMP_SCHED_ORDERED_STATIC 
OMP_SCHED_ORDERED_STATIC_EVEN 
OMP_SCHED_ORDERED_DYNAMIC 
OMP_SCHED_ORDERED_GUIDED 
OMP_SCHED_ORDERED_RUNTIME 
OMP_SCHED_DEFAULT 
OMP_SCHED_UNKNOWN 
OMP_SCHED_STATIC 
OMP_SCHED_STATIC_EVEN 
OMP_SCHED_DYNAMIC 
OMP_SCHED_GUIDED 
OMP_SCHED_RUNTIME 
OMP_SCHED_ORDERED_STATIC 
OMP_SCHED_ORDERED_STATIC_EVEN 
OMP_SCHED_ORDERED_DYNAMIC 
OMP_SCHED_ORDERED_GUIDED 
OMP_SCHED_ORDERED_RUNTIME 

Definition at line 69 of file omp_rtl.h.


Function Documentation

__attribute__ ( (__aligned__(CACHE_LINE_SIZE_L2L3))   ) 

Definition at line 210 of file omp_rtl.h.

__attribute__ ( (__aligned__(CACHE_LINE_SIZE))   ) 

Definition at line 152 of file omp_rtl.h.

void __ompc_barrier ( void   )  [inline]

Definition at line 282 of file omp_thread.h.

Referenced by __ompc_copyprivate().

void __ompc_barrier_wait ( omp_team_t team  )  [inline]

void __ompc_begin ( void   )  [inline]

Definition at line 351 of file omp_thread.h.

void __ompc_critical ( int  gtid,
volatile ompc_lock_t **  lck 
) [inline]

void __ompc_destroy_lock ( volatile ompc_lock_t  )  [inline]

Definition at line 66 of file omp_lock.c.

References pthread_mutex_destroy().

Referenced by __ompc_destroy_nest_lock(), __ompc_fork(), and omp_destroy_lock().

void __ompc_destroy_nest_lock ( volatile ompc_nest_lock_t  ) 

Definition at line 139 of file omp_lock.c.

References __ompc_destroy_lock(), ompc_nest_lock_t::lock, and ompc_nest_lock_t::wait.

Referenced by omp_destroy_nest_lock().

void __ompc_end ( void   )  [inline]

Definition at line 356 of file omp_thread.h.

void __ompc_end_critical ( int  gtid,
volatile ompc_lock_t **  lck 
) [inline]

Definition at line 193 of file omp_lock.c.

References __ompc_unlock().

void __ompc_end_serialized_parallel ( int  vthread_id  ) 

Definition at line 777 of file omp_thread.c.

void __ompc_flush ( void p  )  [inline]

Definition at line 339 of file omp_thread.h.

void __ompc_fork ( const int  num_threads,
omp_micro  micro_task,
frame_pointer_t  frame_pointer 
)

Definition at line 558 of file omp_thread.c.

omp_team_t* __ompc_get_current_team ( void   )  [inline]

omp_u_thread_t* __ompc_get_current_u_thread (  )  [inline]

omp_v_thread_t* __ompc_get_current_v_thread (  )  [inline]

int __ompc_get_dynamic ( void   )  [inline]

Definition at line 59 of file omp_thread.h.

References __omp_dynamic.

Referenced by omp_get_dynamic().

int __ompc_get_local_thread_num ( void   )  [inline]

Definition at line 204 of file omp_thread.h.

Referenced by omp_get_thread_num().

int __ompc_get_max_threads ( void   )  [inline]

Definition at line 69 of file omp_thread.h.

References __omp_nthreads_var, __omp_rtl_initialized, and Get_SMP_CPU_num().

Referenced by omp_get_max_threads().

int __ompc_get_nested ( void   )  [inline]

Definition at line 64 of file omp_thread.h.

References __omp_nested.

Referenced by omp_get_nested().

int __ompc_get_num_procs ( void   )  [inline]

Definition at line 77 of file omp_thread.h.

Referenced by omp_get_num_procs().

int __ompc_get_num_threads ( void   )  [inline]

Definition at line 213 of file omp_thread.h.

Referenced by omp_get_num_threads().

omp_v_thread_t* __ompc_get_v_thread_by_num ( int  vthread_id  )  [inline]

int __ompc_in_parallel ( void   )  [inline]

Definition at line 98 of file omp_thread.h.

Referenced by omp_in_parallel().

void __ompc_init_lock ( volatile ompc_lock_t  )  [inline]

void __ompc_init_nest_lock ( volatile ompc_nest_lock_t  ) 

void __ompc_lock ( volatile ompc_lock_t  )  [inline]

void __ompc_nest_lock ( volatile ompc_nest_lock_t  ) 

void __ompc_nest_unlock ( volatile ompc_nest_lock_t  ) 

int __ompc_ok_to_fork ( void   ) 

void __ompc_serialized_parallel ( int  vthread_id  ) 

Definition at line 771 of file omp_thread.c.

void __ompc_set_dynamic ( const int  __dynamic  )  [inline]

Definition at line 54 of file omp_thread.h.

References __omp_dynamic.

Referenced by omp_set_dynamic().

void __ompc_set_nested ( const int  __nested  )  [inline]

Definition at line 48 of file omp_thread.h.

References __omp_nested.

Referenced by omp_set_nested().

void __ompc_set_num_threads ( const int  __num_threads  )  [inline]

Definition at line 86 of file omp_thread.h.

References __omp_max_num_threads, __omp_nthreads_var, Is_Valid, and Warning.

Referenced by omp_set_num_threads().

int __ompc_test_lock ( volatile ompc_lock_t  )  [inline]

Definition at line 73 of file omp_lock.c.

References pthread_mutex_trylock().

Referenced by __ompc_nest_lock(), __ompc_test_nest_lock(), and omp_test_lock().

int __ompc_test_nest_lock ( volatile ompc_nest_lock_t  ) 

void __ompc_unlock ( volatile ompc_lock_t  )  [inline]


Variable Documentation

volatile int __omp_dynamic

Definition at line 61 of file omp_thread.c.

volatile int __omp_max_num_threads

volatile int __omp_nested

volatile int __omp_nthreads_var

Definition at line 51 of file omp_thread.c.

Referenced by __ompc_get_num_procs(), and __ompc_init_rtl().

Definition at line 75 of file omp_thread.c.

Referenced by __ompc_init_rtl().

Definition at line 73 of file omp_thread.c.

volatile unsigned long int __omp_stack_size

Definition at line 56 of file omp_thread.c.

Referenced by __ompc_environment_variables(), and __ompc_init_rtl().

Definition at line 38 of file omp_init.cxx.

Referenced by __ompc_init_rtl().

Definition at line 43 of file omp_runtime.c.

Referenced by __ompc_critical(), __ompc_get_thdprv(), and __ompc_init_rtl().


Generated on Wed Apr 8 15:57:49 2009 for Open64 by  doxygen 1.5.6