Here is a list of all modules:
| Atomic Operations | These functions are used for implementing the many different varieties of atomic operations |
| Wait/Release operations | The definitions and functions here implement the lowest level thread synchronizations of suspending a thread and awaking it. They are used to build higher level operations such as barriers and fork/join |
| Basic Types | Types that are used throughout the runtime |
| Deprecated Functions | Functions in this group are for backwards compatibility only, and should not be used in new code |
| Startup and Shutdown | These functions are for library initialization and shutdown |
| Parallel (fork/join) | These functions are used for implementing #pragma omp parallel |
| Thread Information | These functions return information about the currently executing thread |
| Work Sharing | These functions are used for implementing #pragma omp for, #pragma omp sections, #pragma omp single and #pragma omp master constructs |
| Synchronization | These functions are used for implementing barriers |
| Thread private data support | These functions support copyin/out and thread private data |
| Statistics Gathering from OMPTB | These macros support profiling the libomp library. Use –stats=on when building with build.pl to enable and then use the KMP_* macros to profile (through counts or clock ticks) libomp during execution of an OpenMP program |
| Tasking support | These functions support tasking constructs |
| User visible functions | These functions can be called directly by the user, but are runtime library specific, rather than being OpenMP interfaces |