Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > EDA/IP

OpenMP 4.0 extends reach to DSPs, accelerators

Posted: 30 Jul 2013 ?? ?Print Version ?Bookmark and Share

Keywords:OpenMP 4.0? parallel programming? shared memory system?

The OpenMP Consortium has announced a major upgrade to the OpenMP standard language specification, the OpenMP 4.0. According to the organisation, the standard provides a new mechanism to describe regions of code where data and/or computation should be moved to another computing device.

"OpenMP 4.0 is a major advance that adds two new forms of parallelism in the form of device constructs and SIMD constructs," noted Bronis R. de Supinski, chair of the OpenMP Language Committee. "It also includes several significant extensions for the loop-based and task-based forms of parallelism already supported in OpenMP 3.1."

With this release, OpenMP, the de-facto standard for parallel programming on shared memory systems, continues to extend its reach beyond pure HPC to include DSPs, real time systems and accelerators. OpenMP aims to provide high-level parallel language support for a range of applications, from automotive and aeronautics to biotech, automation, robotics and financial analysis. The OpenMP 4.0 specification effort included significant participation by all the major vendors in order to support a variety of compute devices.

With the advent of SIMD units in all major processor chips, portable support for accessing them is essential. OpenMP 4.0 provides mechanisms to describe when multiple iterations of the loop can be executed concurrently using SIMD instructions and to describe how to create versions of functions that can be invoked across SIMD lanes.

OpenMP 4.0 defines error handling capabilities to improve the resiliency and stability of OpenMP applications in the presence of system-level, runtime-level and user-defined errors. Features to abort parallel OpenMP execution cleanly have been defined, based on conditional cancellation and user-defined cancellation points.

OpenMP 4.0 provides mechanisms to define where to execute OpenMP threads. Platform-specific data and algorithm-specific properties are separated, offering a deterministic behaviour and simplicity in use. The advantages for the user are better locality, less false sharing and more memory bandwidth.

OpenMP 4.0 provides several extensions to its task-based parallelism support. Tasks can be grouped to support deep task synchronisation and task groups can be aborted to reflect completion of cooperative tasking activities such as search. Task-to-task synchronisation is now supported through the specification of task dependency.

The Fortran 2003 standard adds many modern computer language features. Having these features in the specification allows users to parallelise Fortran 2003 compliant programs. This includes interoperability of Fortran and C, which is one of the most popular features in Fortran 2003.

Previously, OpenMP only supported reductions with base language operators and intrinsic procedures. With OpenMP 4.0, user-defined reductions are now also supported.

A clause has been added to allow a programmer to enforce sequential consistency when a specific storage location is accessed atomically.

Article Comments - OpenMP 4.0 extends reach to DSPs, ac...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top