[WWWDOCS,COMMITTED] gcc-15: Update OpenMP release notes
Checks
Commit Message
---
htdocs/gcc-15/changes.html | 80 ++++++++++++++++++++++++--------------
1 file changed, 50 insertions(+), 30 deletions(-)
@@ -65,37 +65,57 @@ a work-in-progress.</p>
<!-- .................................................................. -->
<h2 id="languages">New Languages and Language specific improvements</h2>
+<h3 id="openmp"><a href="../projects/gomp/">OpenMP</a></h3>
<ul>
- <li id="openmp"><a href="../projects/gomp/">OpenMP</a>
- <ul>
- <li>
- Support for unified-shared memory has been added for some AMD and Nvidia
- GPU devices, enabled when using the <code>unified_shared_memory</code>
- clause to the <code>requires</code> directive. For details,
- see the offload-target specifics section in the
- <a href="https://gcc.gnu.org/onlinedocs/libgomp/Offload-Target-Specifics.html"
- >GNU Offloading and Multi Processing Runtime Library Manual</a>.
- GCC added <code>ompx_gnu_pinned_mem_alloc</code> as <a
- href="https://gcc.gnu.org/onlinedocs/libgomp/OMP_005fALLOCATOR.html">predefined
- allocator</a>. On <a href="https://gcc.gnu.org/onlinedocs/libgomp/nvptx.html">Nvidia
- GPUs, writing to the terminal</a> from OpenMP target regions (but not from
- OpenACC compute regions) is now also supported in Fortran; in C/C++ and
- on AMD GPUs this was already supported before with both OpenMP and OpenACC.
- Constructors and destructors on the device side for <code>declare target</code>
- static aggregates are now handled.
- </li>
- <li>
- OpenMP 5.1: The <code>unroll</code> and <code>tile</code>
- loop-transformation constructs are now supported.
- </li>
- <li>
- OpenMP 6.0: The <a
- href="https://gcc.gnu.org/onlinedocs/libgomp/omp_005fget_005fdevice_005ffrom_005fuid.html"
- ><code>get_device_from_uid</code></a> and <a
- href="https://gcc.gnu.org/onlinedocs/libgomp/omp_005fget_005fuid_005ffrom_005fdevice.html">
- <code>omp_get_uid_from_device</code></a> API routines have been added.
- </li>
- </ul>
+ <li>
+ Support for unified-shared memory has been added for some AMD and Nvidia
+ GPU devices, enabled when using the <code>unified_shared_memory</code>
+ clause to the <code>requires</code> directive.
+ The OpenMP 6.0 <code>self_maps</code> clause is also now supported.
+ For details,
+ see the offload-target specifics section in the
+ <a href="https://gcc.gnu.org/onlinedocs/libgomp/Offload-Target-Specifics.html"
+ >GNU Offloading and Multi Processing Runtime Library Manual</a>.
+ </li>
+ <li>
+ GCC added <code>ompx_gnu_pinned_mem_alloc</code> as a <a
+ href="https://gcc.gnu.org/onlinedocs/libgomp/OMP_005fALLOCATOR.html">predefined
+ allocator</a>.
+ </li>
+ <li>
+ In C and Fortran, the <code>allocate</code> directive now supports
+ static variables; stack variables were previously supported in
+ those languages. C++ support is not available yet.
+ </li>
+ <li>
+ Offloading improvements:
+ On <a href="https://gcc.gnu.org/onlinedocs/libgomp/nvptx.html">Nvidia
+ GPUs, writing to the terminal</a> from OpenMP target regions (but not from
+ OpenACC compute regions) is now also supported in Fortran; in C/C++ and
+ on AMD GPUs this was already supported before with both OpenMP and OpenACC.
+ Constructors and destructors on the device side for
+ <code>declare target</code> static aggregates are now handled.
+ </li>
+ <li>
+ The OpenMP 5.1 <code>unroll</code> and <code>tile</code>
+ loop-transforming constructs are now supported.
+ </li>
+ <li>OpenMP 5.0 metadirectives are now supported, as are OpenMP 5.1 dynamic
+ selectors in both <code>metadirective</code> and
+ <code>declare variant</code> (the latter with some restrictions).
+ </li>
+ <li>
+ The OpenMP 5.1 <code>dispatch</code> construct has been implemented
+ with support for the <code>adjust_args</code> clause to the
+ <code>declare variant</code> directive.
+ </li>
+ <li>
+ OpenMP 6.0: The <a
+ href="https://gcc.gnu.org/onlinedocs/libgomp/omp_005fget_005fdevice_005ffrom_005fuid.html"
+ ><code>get_device_from_uid</code></a> and <a
+ href="https://gcc.gnu.org/onlinedocs/libgomp/omp_005fget_005fuid_005ffrom_005fdevice.html">
+ <code>omp_get_uid_from_device</code></a> API routines have been added.
+ </li>
</ul>
<!-- <h3 id="ada">Ada</h3> -->