This document provides an introduction to OpenMP, which is an application programming interface that allows for parallel programming on shared memory architectures. OpenMP is a specification for parallel programming and is supported by C, C++, and Fortran. It uses compiler directives to specify parallel regions, shared/private variables, thread synchronization, and work distribution among threads. OpenMP uses a shared memory model and fork-join execution model, where the main thread forks additional threads to perform work and then joins them back together.