The document provides an introduction to OpenMP, which is an application programming interface for explicit, portable, shared-memory parallel programming in C/C++ and Fortran. OpenMP consists of compiler directives, runtime calls, and environment variables that are supported by major compilers. It is designed for multi-processor and multi-core shared memory machines, where parallelism is accomplished through threads. Programmers have full control over parallelization through compiler directives that control how the program works, including forking threads, work sharing, synchronization, and data environment.