HiPERiSM's Choice of OpenMP

HiPERiSM - High Performance Algorism Consulting

OpenMP - A Portable Paradigm of Parallel Computing.

image2.gif (13629 bytes)


The OpenMP paradigm was launched in 1997 and has been adopted by several computer workstation and mainframe vendors in various implementations. The standard also has an OpenMP Architecture Review Board and has attracted attention because OpenMP ports of legacy code have demonstrated scalable performance through incremental parallelism without requiring a major rewrite of an application as the first step. In this respect the OpenMP paradigm offers a simpler and more cost effective path to parallel code development than does the message passing paradigm. The OpenMP paradigm of parallel programming uses a master-worker (fork-join) program model and in this respect differs from both the data parallel or task parallel models, Nevertheless, OpenMP can be used as a data parallel model and in combination with message passing it may implement several models of parallelism. Because OpenMP has features such as orphaned directives and scope for nested parallelism it offers scalable parallel performance not previously possible in high performance programming languages on Shared Memory Parallel (SMP) platforms.

The language paradigm adopted in the OpenMP standard is extensions to existing language standards through comment fields that enable the user to direct parallelism. The vendor provides OpenMP support through a compile line option enabling OpenMP directive recognition by the compiler. The execution model views the source as a sequence of serial and parallel regions, where, in the latter case, parallel work is invoked and controlled by directives. Parallel performance can be optimized by different scheduling options for parallel regions. In addition to directives, OpenMP features and functions include runtime library routines and environment variables to control threads. OpenMP constructs help the user control execution flow through constructs for parallel, work-sharing, synchronization, and the data environment in a simple, logical and verifiable way.



HiPERiSM Consulting, LLC, (919) 484-9803 (Voice)

(919) 806-2813 (Facsimile)