OpenMP 3.0 – Public Draft Available

I usually don’t post press releases. But this one is different, since my favorite parallel programming system has almost reached its third major release. That’s right, OpenMP 3.0 is right around the corner and this is your chance to get your early fix. The language committee has worked very hard to make it a true revolution. I have told you about the major change before (tasking) and I am absolutely sure this release will push OpenMP even further into the main stream! So without any further ado, here is the official announcement:

The OpenMP ARB is pleased to announce the release of a draft of Version 3.0 of the OpenMP specification for public comment. This is the first update to the OpenMP specification since 2005.

This release adds several new features to the OpenMP specification, including:

  • Tasking: move beyond loops with generalized tasks and support complex and dynamic control flows.
  • Loop collapse: combine nested loops automatically to expose more concurrency.
  • Enhanced loop schedules: Support aggressive compiler optimizations of loop schedules and give programmers better runtime control over the kind of schedule used.
  • Nested parallelism support: better definition of and control over nested parallel regions, and new API routines to determine nesting structure.

Larry Meadows, CEO of the OpenMP organization, states: “The creation of OpenMP 3.0 has taken very hard work by a number of people over more than two years. The introduction of a unified tasking model, allowing creation and execution of unstructured work, is a great step forward for OpenMP. It should allow the use of OpenMP on whole new classes of computing problems.”

The draft specification is available in PDF format from the Specifications section of the OpenMP ARB website:

(Direct link:

Mark Bull has led the effort to expand the applicability of OpenMP while improving it for its current uses as the Chair of the OpenMP Language Committee. He states: “The OpenMP language committee has done a fine job in producing this latest version of OpenMP. It has been difficult to resolve some tricky details and understand how tasks should propagate across the language. But I think we have come up with solid solutions, and the team should be proud of their accomplishment.”

The ARB warmly welcomes any comments, corrections and suggestions you have for Version 3.0. For Version 3.0, we are soliciting comments through an on-line forum, located at The forum is entitled Draft 3.0 Public Comment. You can also send email to if you would rather not use the forum. It is most helpful if you can refer to the page number and line number where appropriate.

The public comment period will close on 31 January 2008.

Lot’s of changes in there, don’t you think? And my favorite feature and one I have been involved with heavily isn’t even mentioned in the release notes: iterator loops are supported now, which is a very nice step for improving C++ support in the specification.

If you want to take part in shaping the future of OpenMP, be sure to let the language committee know what you think about this new version of the spec.