[wwwdocs] gcc-14/changes.html + projects/gomp/: OpenMP + OpenACC update
Checks
Commit Message
Minor update for older and more recent changes.
Comments?
Tobias
Comments
On Tue, 27 Feb 2024, Tobias Burnus wrote:
> Minor update for older and more recent changes.
> supported for stack variables in C and Fortran, including the OpenMP 5.1
> - <code>align</code> modifier. For Fortran, OpenMP allocators can now be
> + <code>align</code> modifier. In C and C++, the <code>map</code> clause now
> + accepts lvalue expressions. For Fortran, OpenMP allocators can now be
I would omit the comma after "C and C++".
+ <code>acc_memcpy_to_device_async</code>,
+ <code>acc_memcyp_from_device</code> and
+ <code>acc_memcyp_from_device_async</code>.
Oxford comma (i.e., comma before "and")?
Looks good to me (with or without my recommendations).
Thanks,
Gerald
On Tue, 27 Feb 2024 at 20:17, Tobias Burnus <tburnus@baylibre.com> wrote:
>
> Minor update for older and more recent changes.
>
> Comments?
Nit:
+ <li>OpenACC 3.2: The following API routines are now available in
+ Fortran using the <code>openacc</code> module or the
+ <code>open_lib.h</code> header file: <code>acc_alloc</code>,
s/open_lib.h/openacc_lib.h/
thanks
gcc-14/changes.html + projects/gomp/: OpenMP + OpenACC update
Update OpenMP for two meanwhile implemented features (lvalue-expr in map,
indirect now also in Fortran).
Update OpenACC for one new feature (Fortran interface to exisiting
C/C++ routines).
@@ -79,7 +79,8 @@ a work-in-progress.</p>
</li>
<li>OpenMP 5.0: The <code>allocate</code> directive is now
supported for stack variables in C and Fortran, including the OpenMP 5.1
- <code>align</code> modifier. For Fortran, OpenMP allocators can now be
+ <code>align</code> modifier. In C and C++, the <code>map</code> clause now
+ accepts lvalue expressions. For Fortran, OpenMP allocators can now be
used for allocatables and pointers using the <code>allocate</code>
directive and its OpenMP 5.2 replacement, the <code>allocators</code>
directive; files using this allocator and all files that might directly
@@ -91,8 +92,8 @@ a work-in-progress.</p>
<li>
OpenMP 5.1: Support was added for collapsing imperfectly nested loops and
using <code>present</code> as map-type modifier and in
- <code>defaultmap</code>. The <code>indirect</code> clause is now supported
- for C and C++. The performance of copying strided data from or to nvptx
+ <code>defaultmap</code>. The <code>indirect</code> clause is now
+ supported. The performance of copying strided data from or to nvptx
and AMD GPU devices using the OpenMP 5.1 routine
<code>omp_target_memcpy_rect</code> has been improved.
</li>
@@ -117,6 +118,14 @@ a work-in-progress.</p>
<li>OpenACC 2.7: The <code>self</code> clause was added to be used on
compute constructs and the <code>default</code> clause for data
constructs.</li>
+ <li>OpenACC 3.2: The following API routines are now available in
+ Fortran using the <code>openacc</code> module or the
+ <code>open_lib.h</code> header file: <code>acc_alloc</code>,
+ <code>acc_free</code>, <code>acc_hostptr</code>,
+ <code>acc_deviceptr</code>, <code>acc_memcpy_to_device</code>,
+ <code>acc_memcpy_to_device_async</code>,
+ <code>acc_memcyp_from_device</code> and
+ <code>acc_memcyp_from_device_async</code>.
</ul>
</li>
<li>For offload-device code generated via OpenMP and OpenACC, the math
@@ -489,7 +489,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td>C/C++'s lvalue expressions in <code>to</code>, <code>from</code> and <code>map</code> clauses</td>
- <td class="unsupported">No</td>
+ <td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td>
<td></td>
</tr>
<tr>
@@ -714,8 +714,8 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td>Indirect calls to the device version of a procedure or function in target regions</td>
- <td class="partial"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td>
- <td>Only C and C++</td>
+ <td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td>
+ <td></td>
</tr>
<tr>
<td><code>interop</code> directive</td>
@@ -756,8 +756,8 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td><code>indirect</code> clause in <code>declare target</code></td>
- <td class="partial"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td>
- <td>Only C and C++</td>
+ <td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td>
+ <td></td>
</tr>
<tr>
<td><code>device_type(nohost)</code>/<code>device_type(host)</code> for variables</td>