What is OpenMP?
OpenMP is a standard for programming shared memory systems using threads with compiler directives instrumented in the source code. It provides a higher-level approach to utilizing multiple processors within a single machine while keeping the structure of the source code as close to the conventional form as possible. OpenMP is much easier to use than the alternative (Pthreads) and thus is suitable for adding modest amounts of parallelism to pre-exiting code. Because OpenMP is a set of programs, your code can still be compiled by a serial compiler and should still behave the same. OpenMP for C/C++ and Fortran are supported by many compilers, including the Compaq compiler for Alpha Tru64, PGI and PathScale compilers for Opterons, and the Intel compilers for IA32 and IA64 (such as SGI’s Altix.) Currently OpenMP is NOT supported by the Compaq compilers for Linux Alpha, nor is it supported by the GNU compilers.