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


Go to the source code of this file.
| #define OMP_MAX_NUM_THREADS 256 |
| #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_STACK_SIZE_DEFAULT 0x400000L |
| typedef struct omp_team omp_team_t |
| typedef struct omp_u_thread omp_u_thread_t |
| typedef struct omp_v_thread omp_v_thread_t |
| typedef void*(* pthread_entry)(void *) |
| enum omp_exe_mode_t |
| enum omp_sched_t |
| __attribute__ | ( | (__aligned__(CACHE_LINE_SIZE_L2L3)) | ) |
| __attribute__ | ( | (__aligned__(CACHE_LINE_SIZE)) | ) |
| void __ompc_barrier_wait | ( | omp_team_t * | team | ) | [inline] |
Definition at line 240 of file omp_thread.h.
References __ompc_atomic_inc(), i, pthread_cond_broadcast(), pthread_cond_wait(), pthread_mutex_lock(), and pthread_mutex_unlock().
Referenced by __ompc_barrier().
Definition at line 351 of file omp_thread.h.
| void __ompc_critical | ( | int | gtid, | |
| volatile ompc_lock_t ** | lck | |||
| ) | [inline] |
Definition at line 177 of file omp_lock.c.
References __ompc_init_lock(), __ompc_lock(), __ompc_unlock(), _ompc_thread_lock, Is_True, malloc, and NULL.
| 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().
Definition at line 356 of file omp_thread.h.
| void __ompc_end_critical | ( | int | gtid, | |
| volatile ompc_lock_t ** | lck | |||
| ) | [inline] |
| void __ompc_end_serialized_parallel | ( | int | vthread_id | ) |
Definition at line 777 of file omp_thread.c.
Definition at line 339 of file omp_thread.h.
Definition at line 558 of file omp_thread.c.
| omp_team_t* __ompc_get_current_team | ( | void | ) | [inline] |
Definition at line 224 of file omp_thread.h.
References __omp_exe_mode, __omp_level_1_team_manager, __omp_root_team, __ompc_get_current_v_thread(), OMP_EXE_MODE_NORMAL, and OMP_EXE_MODE_SEQUENTIAL.
| omp_u_thread_t* __ompc_get_current_u_thread | ( | ) | [inline] |
Definition at line 151 of file omp_thread.h.
References __omp_uthread_hash_table, HASH_IDX, omp_u_thread::hash_next, Is_True, NULL, pthread_self(), and omp_u_thread::uthread_id.
Referenced by __ompc_fork(), and __ompc_get_current_v_thread().
| omp_v_thread_t* __ompc_get_current_v_thread | ( | ) | [inline] |
Definition at line 175 of file omp_thread.h.
References __ompc_get_current_u_thread(), Is_True, NULL, and omp_u_thread::task.
Referenced by __ompc_barrier(), __ompc_copyprivate(), __ompc_get_current_team(), __ompc_get_local_thread_num(), __ompc_get_num_threads(), and __ompc_get_v_thread_by_num().
| 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] |
| 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] |
| int __ompc_get_num_threads | ( | void | ) | [inline] |
| omp_v_thread_t* __ompc_get_v_thread_by_num | ( | int | vthread_id | ) | [inline] |
Definition at line 185 of file omp_thread.h.
References __omp_exe_mode, __omp_level_1_team, __omp_root_v_thread, __ompc_get_current_v_thread(), Is_True, NULL, OMP_EXE_MODE_NORMAL, and OMP_EXE_MODE_SEQUENTIAL.
Referenced by __ompc_end_ordered(), __ompc_ordered(), __ompc_schedule_next_4(), __ompc_schedule_next_8(), __ompc_scheduler_init_4(), __ompc_scheduler_init_8(), __ompc_single(), __ompc_static_init_4(), and __ompc_static_init_8().
| int __ompc_in_parallel | ( | void | ) | [inline] |
| void __ompc_init_lock | ( | volatile ompc_lock_t * | ) | [inline] |
Definition at line 45 of file omp_lock.c.
References NULL, and pthread_mutex_init().
Referenced by __ompc_critical(), __ompc_fork(), __ompc_init_nest_lock(), __ompc_init_rtl(), and omp_init_lock().
| void __ompc_init_nest_lock | ( | volatile ompc_nest_lock_t * | ) |
Definition at line 80 of file omp_lock.c.
References __ompc_init_lock(), ompc_nest_lock_t::count, ompc_nest_lock_t::lock, and ompc_nest_lock_t::wait.
Referenced by omp_init_nest_lock().
| void __ompc_lock | ( | volatile ompc_lock_t * | ) | [inline] |
Definition at line 52 of file omp_lock.c.
References pthread_mutex_lock().
Referenced by __ompc_critical(), __ompc_end_ordered(), __ompc_get_thdprv(), __ompc_nest_lock(), __ompc_nest_unlock(), __ompc_schedule_next_4(), __ompc_schedule_next_8(), __ompc_scheduler_init_4(), __ompc_scheduler_init_8(), __ompc_single(), __ompc_test_nest_lock(), and omp_set_lock().
| void __ompc_nest_lock | ( | volatile ompc_nest_lock_t * | ) |
Definition at line 89 of file omp_lock.c.
References __ompc_lock(), __ompc_test_lock(), __ompc_unlock(), ompc_nest_lock_t::count, ompc_nest_lock_t::lock, pthread_self(), ompc_nest_lock_t::thread_id, and ompc_nest_lock_t::wait.
Referenced by omp_set_nest_lock().
| void __ompc_nest_unlock | ( | volatile ompc_nest_lock_t * | ) |
Definition at line 125 of file omp_lock.c.
References __ompc_lock(), __ompc_unlock(), ompc_nest_lock_t::count, ompc_nest_lock_t::lock, and ompc_nest_lock_t::wait.
Referenced by omp_unset_nest_lock().
| 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 * | ) |
Definition at line 147 of file omp_lock.c.
References __ompc_lock(), __ompc_test_lock(), __ompc_unlock(), ompc_nest_lock_t::count, ompc_nest_lock_t::lock, pthread_self(), ompc_nest_lock_t::thread_id, and ompc_nest_lock_t::wait.
Referenced by omp_test_nest_lock().
| void __ompc_unlock | ( | volatile ompc_lock_t * | ) | [inline] |
Definition at line 59 of file omp_lock.c.
References pthread_mutex_unlock().
Referenced by __ompc_critical(), __ompc_end_critical(), __ompc_end_ordered(), __ompc_get_thdprv(), __ompc_nest_lock(), __ompc_nest_unlock(), __ompc_schedule_next_4(), __ompc_schedule_next_8(), __ompc_scheduler_init_4(), __ompc_scheduler_init_8(), __ompc_single(), __ompc_test_nest_lock(), and omp_unset_lock().
| volatile int __omp_dynamic |
Definition at line 45 of file omp_thread.c.
Referenced by __ompc_environment_variables(), __ompc_get_dynamic(), and __ompc_set_dynamic().
| volatile omp_exe_mode_t __omp_exe_mode |
Definition at line 58 of file omp_thread.c.
Referenced by __ompc_barrier(), __ompc_check_num_threads(), __ompc_end_ordered(), __ompc_fork(), __ompc_get_current_team(), __ompc_get_local_thread_num(), __ompc_get_num_threads(), __ompc_get_v_thread_by_num(), __ompc_in_parallel(), __ompc_ordered(), __ompc_schedule_next_4(), __ompc_schedule_next_8(), __ompc_scheduler_init_4(), __ompc_scheduler_init_8(), __ompc_single(), __ompc_static_init_4(), and __ompc_static_init_8().
Definition at line 61 of file omp_thread.c.
Definition at line 63 of file omp_thread.c.
Referenced by __ompc_check_num_threads(), __ompc_expand_level_1_team(), __ompc_fork(), and __ompc_init_rtl().
Definition at line 64 of file omp_thread.c.
Referenced by __ompc_barrier(), __ompc_expand_level_1_team(), __ompc_fork(), __ompc_get_current_team(), __ompc_init_rtl(), __ompc_level_1_barrier(), __ompc_level_1_slave(), __ompc_schedule_next_4(), __ompc_schedule_next_8(), __ompc_scheduler_init_4(), __ompc_scheduler_init_8(), and __ompc_single().
Definition at line 62 of file omp_thread.c.
Referenced by __ompc_expand_level_1_team(), __ompc_fork(), __ompc_get_num_threads(), __ompc_init_rtl(), and __ompc_level_1_barrier().
| volatile int __omp_max_num_threads |
Definition at line 47 of file omp_thread.c.
Referenced by __ompc_check_num_threads(), __ompc_environment_variables(), __ompc_expand_level_1_team(), __ompc_fork(), __ompc_init_rtl(), and __ompc_set_num_threads().
| volatile int __omp_nested |
Definition at line 44 of file omp_thread.c.
Referenced by __ompc_environment_variables(), __ompc_fork(), __ompc_get_nested(), and __ompc_set_nested().
| volatile int __omp_nthreads_var |
Definition at line 49 of file omp_thread.c.
Referenced by __ompc_environment_variables(), __ompc_fork(), __ompc_get_max_threads(), __ompc_init_rtl(), and __ompc_set_num_threads().
Definition at line 51 of file omp_thread.c.
Referenced by __ompc_get_num_procs(), and __ompc_init_rtl().
Definition at line 72 of file omp_thread.c.
Referenced by __ompc_get_current_team(), __ompc_init_rtl(), __ompc_schedule_next_4(), __ompc_schedule_next_8(), __ompc_scheduler_init_4(), and __ompc_scheduler_init_8().
| pthread_t __omp_root_thread_id |
Definition at line 73 of file omp_thread.c.
Definition at line 74 of file omp_thread.c.
Referenced by __ompc_expand_level_1_team(), __ompc_fork(), __ompc_get_v_thread_by_num(), __ompc_init_rtl(), __ompc_schedule_next_4(), and __ompc_schedule_next_8().
Definition at line 54 of file omp_thread.c.
Referenced by __ompc_environment_variables(), __ompc_scheduler_init_4(), and __ompc_scheduler_init_8().
Definition at line 53 of file omp_thread.c.
Referenced by __ompc_environment_variables(), __ompc_scheduler_init_4(), and __ompc_scheduler_init_8().
Definition at line 77 of file omp_thread.c.
Referenced by __ompc_fork(), __ompc_get_max_threads(), __ompc_get_num_procs(), and __ompc_init_rtl().
| 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().
| omp_u_thread_t* __omp_uthread_hash_table[UTHREAD_HASH_SIZE] |
Definition at line 65 of file omp_thread.c.
Referenced by __ompc_clear_hash_table(), __ompc_get_current_u_thread(), __ompc_insert_into_hash_table(), and __ompc_remove_from_hash_table().
Definition at line 43 of file omp_runtime.c.
Referenced by __ompc_critical(), __ompc_get_thdprv(), and __ompc_init_rtl().
1.5.6