OpenMP is an application programming interface that supports multi-platform shared memory parallel programming in C/C++ and Fortran. The OpenMP API was first released in 1997 with specifications for Fortran and later expanded to include C/C++. Version 3.0 of OpenMP, released in 2008, introduced tasks and task constructs to the API. OpenMP uses compiler directives to define parallel regions that can be executed concurrently by multiple threads, allowing for nested parallelism. It supports dynamic allocation of threads but leaves input/output and memory consistency handling to the programmer.