Differences between revisions 37 and 40 (spanning 3 versions)
Revision 37 as of 2015-01-29 08:24:51
Size: 5828
Editor: tschwinge
Comment: libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library.
Revision 40 as of 2020-07-29 23:35:10
Size: 7852
Editor: TobiasBurnus
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
As of GCC 4.2, the compiler implements version 2.5 of the OpenMP specification, as of 4.4 it implements version 3.0 and since GCC 4.7 it supports the OpenMP 3.1 specification. GCC 4.9 supports OpenMP 4.0 for C/C++, GCC 4.9.1 also for Fortran. GCC 5 adds support for [[Offloading]]. As of GCC 4.2, the compiler implements version 2.5 of the OpenMP specification, as of 4.4 it implements version 3.0 and since GCC 4.7 it supports the OpenMP 3.1 specification. GCC 4.9 supports OpenMP 4.0 for C/C++, GCC 4.9.1 also for Fortran. GCC 5 adds support for [[Offloading]]. OpenMP 4.5 is supported for C/C++ since GCC 6 and since GCC 7 for Fortran (with omissions, largest missing item is structure element mapping). Since GCC 9, there is initial OpenMP 5 support (essentially C/C++, only). GCC 10 added some more features, mainly for C/C++ but also for Fortran.

GCC 11 (ongoing development) extended the Fortran compiler to fully support OpenMP 4.5 and support more OpenMP 5.0; additionally, nonrectangular loops are now supported.

= Release Notes =

 * [[https://gcc.gnu.org/gcc-11/changes.html|GCC 11 Changes]] – work in progress (as of 2020)
 * [[https://gcc.gnu.org/gcc-10/changes.html|GCC 10 Changes]]
 * [[https://gcc.gnu.org/gcc-9/changes.html|GCC 9 Changes]] – contains a TODO list
 * [[https://gcc.gnu.org/gcc-8/changes.html|GCC 8 Changes]]
 * [[https://gcc.gnu.org/gcc-7/changes.html|GCC 7 Changes]]
 * [[https://gcc.gnu.org/gcc-6/changes.html|GCC 6 Changes]]
 * [[https://gcc.gnu.org/gcc-5/changes.html|GCC 5 Changes]]
 * [[https://gcc.gnu.org/gcc-4.9/changes.html|GCC 4.9 Changes]]
 * [[https://gcc.gnu.org/gcc-4.8/changes.html|GCC 4.8 Changes]]
 * [[https://gcc.gnu.org/gcc-4.7/changes.html|GCC 4.7 Changes]]
 * [[https://gcc.gnu.org/gcc-4.6/changes.html|GCC 4.6 Changes]]
 * [[https://gcc.gnu.org/gcc-4.5/changes.html|GCC 4.5 Changes]]
 * [[https://gcc.gnu.org/gcc-4.4/changes.html|GCC 4.4 Changes]]
 * [[https://gcc.gnu.org/gcc-4.3/changes.html|GCC 4.3 Changes]]
 * [[https://gcc.gnu.org/gcc-4.2/changes.html|GCC 4.2 Changes]]

Line 14: Line 36:
 * [[http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf|OpenMP v4.0 specification]] (July2013) (Official [[http://openmp.org/mp-documents/OpenMP4.0.0.Examples.pdf|OpenMP 4.0 Examples]], [[http://openmp.org/forum/viewforum.php?f=12|OpenMP 4.0 API forum]])
 * [[https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf|OpenMP 4.5 specification]]
 * [[https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf|OpenMP 5 specification]] ([[https://www.openmp.org/spec-html/5.0/openmp.html|as HTML]])
 * [[https://www.openmp.org/wp-content/uploads/openmp-TR8.pdf|OpenMP 5.1 draft (= Technical Report 8)]]
Line 33: Line 58:
(Outdated!)
Line 35: Line 62:
 * Fix [[http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35423|PR 35423]] (missing parts of OpenMP WORKSHARE).

OpenMP

This page contains information on GCC's implementation of the OpenMP specification and related functionality like the auto parallelizer (-ftree-parallelize-loops).

As of GCC 4.2, the compiler implements version 2.5 of the OpenMP specification, as of 4.4 it implements version 3.0 and since GCC 4.7 it supports the OpenMP 3.1 specification. GCC 4.9 supports OpenMP 4.0 for C/C++, GCC 4.9.1 also for Fortran. GCC 5 adds support for Offloading. OpenMP 4.5 is supported for C/C++ since GCC 6 and since GCC 7 for Fortran (with omissions, largest missing item is structure element mapping). Since GCC 9, there is initial OpenMP 5 support (essentially C/C++, only). GCC 10 added some more features, mainly for C/C++ but also for Fortran.

GCC 11 (ongoing development) extended the Fortran compiler to fully support OpenMP 4.5 and support more OpenMP 5.0; additionally, nonrectangular loops are now supported.

Release Notes

OpenMP Documentation

Automatic Parallelization

(-ftree-parallelize-loops)

  • Streamization

Test Suites and Benchmarks

TODO List

(Outdated!)

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.

None: openmp (last edited 2021-11-10 07:04:00 by TobiasBurnus)