OpenMP

Contributed by Mitchell Wade, St. Olaf College '11

Taken from OpenMP's mission statement:

"The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran on all architectures, including Unix platforms and Windows NT platforms. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer."

PPP Characteristics

Languages Supported: C++, C
OS Compatibility: Windows, Mac OS, Linux
Physical Resource Support: Local Multicore, Remote Multicore 
Computational Model: Shared Memory

Context of Use

OpenMP is used in the following modules:

Materials

PPP Introduction to OpenMP (PDF) (Acrobat (PDF) 158kB Sep23 10) A brief introduction to OpenMP

PPP Introduction to OpenMP (Microsoft Word 78kB Sep23 10) A brief introduction to OpenMP

OpenMP implementation comes from downloading a compiler that supports the OpenMP API. The following are some compilers which have OpenMP 3.0 functionality:

  • GNU gcc (4.3.2)
  • IBM XL C/C++/Fortran
  • Intel Fortran and C/C++ (11.0 and 11.1)
  • Intel Parallel Studio
  • Oracle Sun Studio
     

For more information on compiler compatibility and links to compilers, visit http://openmp.org/wp/openmp-compilers.

Resources

OpenMP official site. Includes API specifications, compilers, related resources, and a discussion forum.
Complete specifications for OpenMP 3.0
OpenMP tutorial



Comment? Start the discussion about OpenMP