GCC 15 now supports unified-shared memory and the tile/unroll constructs in OpenMP.
Updates https://gcc.gnu.org/gcc-15/changes.html and https://gcc.gnu.org/projects/gomp/ Comments? Tobias
gcc-15/changes.html + projects/gomp: update for new OpenMP features GCC 15 now supports unified-shared memory and the tile/unroll constructs in OpenMP. htdocs/gcc-15/changes.html | 27 ++++++++++++++++++++++++++- htdocs/projects/gomp/index.html | 11 +++++++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/htdocs/gcc-15/changes.html b/htdocs/gcc-15/changes.html index b59fd3be..94528ebd 100644 --- a/htdocs/gcc-15/changes.html +++ b/htdocs/gcc-15/changes.html @@ -40,6 +40,24 @@ a work-in-progress.</p> <!-- .................................................................. --> <h2 id="languages">New Languages and Language specific improvements</h2> +<ul> + <li id="openmp"><a href="https://gcc.gnu.org/projects/gomp/">OpenMP</a> + <ul> + <li> + Support for unified-shared memory has been added for some AMD and Nvidia + GPUs devices, enabled only 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>. + </li> + <li> + OpenMP 5.1: The <code>unroll</code> and <code>tile</code> + loop-transformation constructs are now supported. + </li> + </ul> +</ul> + <!-- <h3 id="ada">Ada</h3> --> <!-- <h3 id="c-family">C family</h3> --> diff --git a/htdocs/projects/gomp/index.html b/htdocs/projects/gomp/index.html index 94bda5ff..d1765fc3 100644 --- a/htdocs/projects/gomp/index.html +++ b/htdocs/projects/gomp/index.html @@ -313,18 +313,21 @@ than listed, depending on resolved corner cases and optimizations.</p> </tr> <tr> <td><code>requires</code> directive</td> - <td class="partial"> + <td class="supported"> <a href="../../gcc-9/changes.html#c-family">GCC 9</a><br> <a href="../../gcc-12/changes.html#languages">GCC 12</a><br> <a href="../../gcc-13/changes.html#general">GCC 13</a><br> - <a href="../../gcc-14/changes.html#languages">GCC 14</a> + <a href="../../gcc-14/changes.html#languages">GCC 14</a><br> + <a href="../../gcc-15/changes.html#languages">GCC 15</a> </td> <td> (<code>atomic_default_mem_order</code>)<br> (<code>dynamic_allocators</code>)<br> complete but no non-host devices provides <code>unified_address</code> or <code>unified_shared_memory</code><br> - complete but no non-host devices provides <code>unified_shared_memory</code> + complete but no non-host devices provides <code>unified_shared_memory</code><br> + complete; see also <a href="https://gcc.gnu.org/onlinedocs/libgomp/Offload-Target-Specifics.html"> + Offload-Target Specifics</a> </td> </tr> <tr> @@ -706,7 +709,7 @@ than listed, depending on resolved corner cases and optimizations.</p> </tr> <tr> <td>Loop transformation constructs</td> - <td class="unsupported">No</td> + <td class="supported"><a href="../../gcc-15/changes.html#languages">GCC 15</a></td> <td></td> </tr> <tr>