Differences between revisions 40 and 41
Revision 40 as of 2020-07-29 23:35:10
Size: 7852
Editor: TobiasBurnus
Comment:
Revision 41 as of 2020-10-12 08:45:46
Size: 8162
Editor: TobiasBurnus
Comment: Minor update: TR9 + add note about GCC 11
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]]. 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. 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. The current development version – to be released as GCC 11 – fully supports OpenMP 4.5 for Fortran and adds additional OpenMP 5.0 features.
Line 37: Line 37:
 * [[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)]]
 * [[https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf|OpenMP 4.5 specification]] (November 2015)
 * [[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]], November 2018)
 * [[https://www.openmp.org/wp-content/uploads/openmp-TR8.pdf|OpenMP 5.1 draft (= Technical Report 8)]] (November 2019)
 * [[https://www.openmp.org/wp-content/uploads/openmp-TR9.pdf|OpenMP 5.1 draft (= Technical Report 9)]] (August 2020)

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. The current development version – to be released as GCC 11 – fully supports OpenMP 4.5 for Fortran and adds additional OpenMP 5.0 features.

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 2020-11-15 09:05:43 by TobiasBurnus)