OpenMP (Open Multiprocessing) uses a portable, scalable model that gives programmers a simple and flexible interface for developing parallel applications for platforms ranging from the standard desktop computer to the supercomputer.

It is an API that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most processor architectures and operating systems. Because it is available on many platforms, modifications you make to your program that help it to run efficiently on one system should be useful on most other platforms too.

Today, there is no OpenMP support for accelerators (like a GPU). It is intended to merge the OpenACC API with the OpenMP specification to create a common specification which extends OpenMP to support accelerators in a future release of OpenMP.