OpenMP
This page contains information on GCC's implementation of the OpenMP standard and related functionality like the auto parallelizer (-ftree-parallelize-loops).
As of GCC 4.2, the compiler implements version 2.5 of the OpenMP standard and as of 4.4 it implements version 3.0 of the OpenMP standard.
OpenMP Documentation
Documentation on libgomp (OpenMP runtime for GCC).
Automatic Parallelization
(-ftree-parallelize-loops)
- Streamization
TODO List
Feel free to add new items to this list as you run into issues or features that would be interesting to add. Send mail to the list and/or the GCC OpenMP maintainers if any item in this list sounds interesting but is hard to understand.
Fix PR 35423.
Fine tune the auto scheduling feature for parallel loops.
Implement untied tasks (no compliance issue; needs to be well tuned to be actually faster; cf. page 53 of pdf)
OpenMP v3.1, when released ("The OpenMP ARB has started developing OpenMP 3.1, which is scheduled to be released for public review at IWOMP, the International Workshop for OpenMP, in June 2010. This update will include clarifications, and several extensions.") The release of a public draft has been delayed and is seemingly now available before Supercomputing 2010 (= before mid of November). For the new features, see also the OWOMP 2010 proceedings and a blog entry. Especially, user-defined reductions (a major item), affinity, atomics extensions (support capture/write), and task scheduling items (taskyield construct, final clause) are to be expected.