The runtime routines described here are defined by Section 3 of the OpenMP specification in version 4.0. The routines are structured in following three parts:
Control threads, processors and the parallel environment. They have C linkage, and do not throw exceptions.
Initialize, set, test, unset and destroy simple and nested locks.
Portable, thread-based, wall clock timer.