OpenMP - open specifications for multi-processing for the C++ and Fortran languages

Posted by on in Blogs
Multi-processing has been around for years.  Special purpose languages (Occam, Linda, SISAL)  have been created to take advantage of shared memory and parallel processing architectures in advanced computing systems.  With the arrival of the IBM/Sony/Toshiba Cell Processor (to appear in the Sony PlayStation 3), Sun's multi-core UltraSPARC T1 processor, and Intel's Core Duo Processors on Unix/Windows NT servers, desktop PCs, and Macintoshes, we can also use general purpose languages and available compilers, libraries, and tools to take advantage the new processor capabilities. What programming model/specification should you use?  Start with OpenMP.

OpenMP is a set of open specifications for compiler directives, libraries, and environment variables for the C++ and Fortran programming languages.  ANSI/X3 subcommitte for parallel programming (X3H5, now inactive) had worked on a shared memory specification but stopped in 1994 and was never adopted as interest in distributed memory computers slowed.  In the spring of 1997, the OpenMP specification was created by several vendors (including Intel, Sun, SGI) and researchers who worked together to make OpenMP a reality.  The goals of OpenMP include:  standardization across platforms, simple set of directives, coarse and fine grained parallelism, and portability.  The programming model includes thread based and explicit parallelism.

Other parallel programming specifications include (but are not limited to) MPI, HPF, Pthreads, and BSP.

OpenMP Home Page

OpenMP FAQ

OpenMP Powerpoint slide show

Article about Intel's compilers for the new Macintosh computers


About
Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.

Comments

  • Guest
    Zach Saw Tuesday, 7 February 2006

    When will Borland support OpenMP in its C++ compiler?

  • Guest
    Flavio Souza Monday, 11 June 2007

    Is it possible to use OpenMP in Borland C++ Builder 2006?

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: