HP aC++/HP C Programmer's Guide (B3901-90036; A.06.26; September 2011)

Rogue Wave Standard C++ Library 1.2.1 and Tools.h++ 7.0.6..............................203
Using Locks.....................................................................................................203
Required Command-line Options.......................................................................204
Rogue Wave Standard C++ Library 2.2.1.......................................................204
Rogue Wave Standard C++ Library 1.2.1 and Tools.h++ 7.0.6.........................204
Limitations.......................................................................................................205
Using -D_THREAD_SAFE with the cfront Compatible libstream...........................205
Differences between Standard iostreams and cfront Compatible libstream..........205
Using -D__HPACC_THREAD_SAFE_RB_TREE...................................................206
Exception Handling.........................................................................................206
Pthreads (POSIX Threads)......................................................................................206
Limitations.......................................................................................................207
Function Scoping..................................................................................................208
Performance Options............................................................................................208
Parallel Programming Using OpenMP.....................................................................208
OpenMP Implementation..................................................................................208
OpenMP Header File..................................................................................210
OpenMP Library.........................................................................................210
+O[no]openmp Command Line Option..........................................................210
_OPENMP Macro.......................................................................................210
Environment Variables in OpenMP.....................................................................210
OMP_SCHEDULE........................................................................................211
OMP_NUM_THREADS................................................................................211
OMP_DYNAMIC........................................................................................211
OMP_NESTED............................................................................................211
Runtime Library Functions in OpenMP.................................................................212
Execution Environment Functions........................................................................212
omp_set_num_threads.................................................................................212
omp_get_num_threads.................................................................................213
omp_get_max_threads.................................................................................213
omp_get_thread_num..................................................................................213
omp_get_num_procs...................................................................................214
omp_in_parallel..........................................................................................214
omp_set_dynamic.......................................................................................214
omp_get_dynamic.......................................................................................214
omp_set_nested..........................................................................................214
omp_get_nested.........................................................................................215
Lock Functions.................................................................................................215
omp_init_lock and omp_init_nest_lock...........................................................215
omp_destroy_lock and omp_destroy_nest_lock................................................215
omp_set_lock and omp_set_nest_lock............................................................216
omp_unset_lock and omp_unset_nest_lock......................................................216
omp_test_lock and omp_test_nest_lock Functions.............................................216
Timing Functions..............................................................................................217
Contents 15