Differences between revisions 39 and 40
Revision 39 as of 2020-01-21 16:20:58
Size: 6663
Editor: TobiasBurnus
Comment: Fix copy'n'paste bug
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]]. 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). 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 36: Line 58:
(Outdated!)
Line 38: 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 2020-07-29 23:35:10 by TobiasBurnus)