Hi Gerald,

On 16.01.23 23:16, Gerald Pfeifer wrote:
On Mon, 16 Jan 2023, Tobias Burnus wrote:
         <code>requires_offload</code>, <code>unified_address</code>
-      and <code>unified_shared_memory</code> clauses cause that the
-      only available device is the initial device (the host). Fortran now
+      and <code>unified_shared_memory</code> clauses imply the initial
+      device (= the host) as the only available device. Fortran now
I really stumble over the "as" – that sounds wrong and I fail to parse this
part. I think it should be "is".
happy to make this change. Or do you have an idea to reframe the
sentence (or paragraph) altogether?

Actually, I thinking about it again, the "imply" is also misleading – by
itself the restrictions do not imply that accelerators/GPUs are not
supported; that's only implied in GCC as the libgomp plugins for nvptx
and amdgcn don't handle it, yet.

How about the following? I put the other change into its own bullet
point to be less confusing, completely rewording the remaining item and
mention reverse offload support.

(Reverse offload is: While being in a target region ('omp target', i.e.
running code targeted for an offload device), it is possible to execute
a code on the host. — If there is no available non-host device, the
target region will run on the host (host fallback); in that case,
reverse offload is trivial (as host code calls host code).)

BTW: Before the release, further updates to changes.html are required.
Keep them coming! :-)

Actually, I think only one change was missing (looking at
libgomp/libgomp.texi), unless some more pending patches are accepted. –
I have now included that change in the attached patch.

Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 
München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas 
Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht 
München, HRB 106955
OpenMP: Update gcc-13/changes + projects/gomp

* htdocs/gcc-13/changes.html: Improve wording; mention nvptx reverse
  offload.
* htdocs/projects/gomp/index.html: Split clause/directive entry
  for 'allocate' and mark the clause variant as fully implemented.

 htdocs/gcc-13/changes.html      | 19 +++++++++++++------
 htdocs/projects/gomp/index.html |  9 +++++++--
 2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/htdocs/gcc-13/changes.html b/htdocs/gcc-13/changes.html
index ca9cd2da..6deb445f 100644
--- a/htdocs/gcc-13/changes.html
+++ b/htdocs/gcc-13/changes.html
@@ -53,12 +53,19 @@ a work-in-progress.</p>
   <li id="openmp"><a href="https://gcc.gnu.org/projects/gomp/";>OpenMP</a>
   <ul>
     <li>
-      Reverse offload is now supported and the all clauses to the
-      <code>requires</code> directive are now accepted. However, the
-      <code>requires_offload</code>, <code>unified_address</code>
-      and <code>unified_shared_memory</code> clauses imply the initial
-      device (= the host) as the only available device. Fortran now
-      supports non-rectangular loop nests, which were added for C/C++ in GCC 11.
+      Reverse offload is now supported with nvptx devices. Additionally, the
+      <code>requires</code> handling has been improved and all clauses are
+      now accepted. If a requirement cannot be fulfilled for an accessible
+      device, this device is excluded from the list of available devices. This
+      may imply that the only device left is the host (the initial device).
+      In particular, <code>requires_offload</code> is currently unsupported on
+      AMD GCN devices while <code>unified_address</code> and
+      <code>unified_shared_memory</code> are unsupported by all non-host
+      devices.
+    </li>
+    <li>
+      OpenMP 5.0: Fortran now supports non-rectangular loop nests, which were
+      added for C/C++ in GCC 11.
     </li>
     <li>
       The following OpenMP 5.1 features have been added: the
diff --git a/htdocs/projects/gomp/index.html b/htdocs/projects/gomp/index.html
index 19ff3c7d..dc9c88e7 100644
--- a/htdocs/projects/gomp/index.html
+++ b/htdocs/projects/gomp/index.html
@@ -547,9 +547,14 @@ than listed, depending on resolved corner cases and optimizations.</p>
     <td></td>
   </tr>
   <tr>
-    <td><code>align</code> clause/modifier in <code>allocate</code> directive/clause and <code>allocator</code> directive</td>
+    <td><code>align</code> clause in <code>allocate</code> directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>align</code> modifier in <code>allocate</code> clause</td>
     <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
-    <td>C/C++ on clause only</td>
+    <td></td>
   </tr>
   <tr>
     <td><code>thread_limit</code> clause to <code>target</code> construct</td>

Reply via email to