Sun Studio OpenMP

The New OpenMP Features in Sun Studio 12 Update 1

What's Going On Here?

This is the wiki space for the presentation of information about OpenMP (and especially OpenMP 3.0) features in Sun Studio compilers and tools.

The intention is to provide examples and discussions of the 3.0 features to those who might not yet be familiar with them.

By logging into this Sun wiki site, you can add comments to these pages, below.


What's in OpenMP 3.0?

OpenMP 3.0 features in the are listed in the box on the right and link to pages that describe these new features with examples

Some OpenMP 3.0 features were first introduced in the Sun Studio Express July 2008 release. The implementation of OpenMP 3.0 is completed with the release of Sun Studio 12 Update 1.

Note: LInux upport for OpenMP 3.0 includes a libmtsk library. OpenMP programs will link with this library by default.


Presentations from IWOMP 2009

A number of interesting papers on OpenMP 3.0 were presented at the International Workshop for OpenMP, held June 2009 in Dresden, Germany:

An Overview of OpenMP 3.0 Ruud van der Pas, Sun Microsystems
Tasking in OpenMP 3.0 Alejandro Duran, Barcelona Supercomputing Center
OpenMP In The Real World Christian Terboven/Dieter an Mey, RWTH Aachen University
OpenMP And Performance Ruud van der Pas, Sun Microsystems

See the rest of the presentations at the IWOMP 2009 website.


Other Things To Look At

Implementation Defined Behaviors
OpenMP 3.0 Spec (PDF)
Christian Terboven's First Experiments With Tasking


What Is OpenMP?

OpenMP is an Application Programming Interface (API) that can be used to explicitly specify multi-threaded shared-memory parallelism in C, C++, and Fortran programs. The API is composed of a set of pragmas to define and control the parallelism, runtime routines, and environment variables.

The main motivations for using OpenMP are ease of use, performance, scalability, and portability. One advantage of OpenMP is that it enables the parallelization of existing sequential applications incrementally and with relatively little programming effort. Another main feature is that the original sequential version of the program can be preserved.

The threading and memory model of OpenMP also make it ideally suitable for current and future multicore architectures.

Version 3.0 of the OpenMP specifications was released in May, 2008. The new specifications include many significant enhancements over the previous version (2.5). One important new feature is tasking. Tasking allows the parallelization of recursive control structures, such as linked lists and trees, thus expanding the application domain of OpenMP.

More information at the official OpenMP website
OpenMP is a trademark of the OpenMP Architecture Review Board, an industry wide standardization body.

Labels

openmp openmp Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact