Open Multi-Processing (OpenMP)
- is an API standard that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures, and operating systems, including Solaris, AIX, FreeBSD, HP-UX, Linux, macOS, and Windows
- consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior
OpenMP vs MPI
- OpenMP is used for parallelism within a (multi-core) node
- Message Passing Interface (MPI) is used for parallelism between nodes