[wwwdocs,OpenMP] gcc-14/changes.html + projects/gomp/: OpenMP update
Checks
Commit Message
While I expect more changes, I want to cleanup my stashed changes.
Current version: https://gcc.gnu.org/gcc-14/changes.html#openmp
Comments?
Tobias
PS: stack variable support in C++ for 'allocate' is pending review;
I also expect a Fortran parser update for 'indirect'. Several more
features are also pending review.
-----------------
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
Comments
On Fri, Nov 24, 2023 at 05:26:44PM +0100, Tobias Burnus wrote:
> @@ -65,8 +72,11 @@
> was extended. Additionally, the spec change has been implemented for
> default implicit mapping of C/C++ pointers pointing to unmapped storage.
> + The <code>destory</code> now optionally accepts the depend object as
s/destory/destroy/
Otherwise LGTM.
Jakub
On Fri, 24 Nov 2023, Tobias Burnus wrote:
> While I expect more changes, I want to cleanup my stashed changes.
Good approach!
+ The <code>destory</code> now optionally accepts the depend object as
+ argument.
Is "depend object" a well known technical term in that context? And is it
"the depend object" or "a depend object"?
Gerald
Gerald Pfeifer wrote:
> On Fri, 24 Nov 2023, Tobias Burnus wrote:
>> While I expect more changes, I want to cleanup my stashed changes.
>
> Good approach!
>
> + The <code>destory</code> now optionally accepts the depend object as
> + argument.
>
> Is "depend object" a well known technical term in that context? And is it
> "the depend object" or "a depend object"?
In this context is well known; the 'destroy' clause only exists for the
'depobj' directive and the still unimplemented 'interop' directive.
In OpenMP 5.1, the syntax was:
omp_depend_t obj;
#pragma omp depobj(obj) destroy
In OpenMP draft 6.0 (TR11/T12):
#pragma omp depobj(obj) destroy(obj)
In OpenMP 5.2, both are variants valid (deprecating the 5.1 syntax).
As there is only a single depend object 'obj' per directive, even when
specified twice, I think talking about "the" makes sense.
(I opened a specification issue discuss about avoiding the duplication -
and to clarify a couple of other issues related to 'destroy'.)
Tobias
gcc-14/changes.html + projects/gomp/: OpenMP update
@@ -54,8 +55,14 @@
requirement is now fulfilled by both AMD GCN and nvptx devices.
</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.
<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>.
+ <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
+ devices using the OpenMP 5.1 routine <code>omp_target_memcpy_rect</code>
+ has been improved.
</li>
<li>
@@ -65,8 +72,11 @@
was extended. Additionally, the spec change has been implemented for
default implicit mapping of C/C++ pointers pointing to unmapped storage.
+ The <code>destory</code> now optionally accepts the depend object as
+ argument.
</li>
<li>
- OpenMP 6.0 preview (TR11): The <code>decl</code> attribute is now
- supported in C++ 11 attributes.
+ OpenMP 6.0 preview (TR11/TR12): The <code>decl</code> attribute is now
+ supported in C++ 11 and the <code>directive</code>, <code>sequence</code>
+ and <code>decl</code> attributes are now supported in C 23.
</li>
<li>
@@ -822,5 +822,5 @@ than listed, depending on resolved corner cases and optimizations.</p>
<tr>
<td>Deprecation of no-argument <code>destroy</code> clause on <code>depobj</code></td>
- <td class="unsupported">No</td>
+ <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 14</a></td>
<td></td>
</tr>