From fcddf7cee629b4505481ffdbb0403016bb142b6a Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Fri, 10 Nov 2023 10:26:56 +0100 Subject: libgomp.texi: Update OpenMP 6.0-preview implementation-status list libgomp/ChangeLog: * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12; renamed section from TR11. --- libgomp/libgomp.texi | 70 +++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 15 deletions(-) (limited to 'libgomp') diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi index 9cb893e..2f6227c 100644 --- a/libgomp/libgomp.texi +++ b/libgomp/libgomp.texi @@ -169,7 +169,7 @@ See also @ref{OpenMP Implementation Status}. * OpenMP 5.0:: Feature completion status to 5.0 specification * OpenMP 5.1:: Feature completion status to 5.1 specification * OpenMP 5.2:: Feature completion status to 5.2 specification -* OpenMP Technical Report 11:: Feature completion status to first 6.0 preview +* OpenMP Technical Report 12:: Feature completion status to second 6.0 preview @end menu The @code{_OPENMP} preprocessor macro and Fortran's @code{openmp_version} @@ -444,33 +444,52 @@ to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab @end multitable -@node OpenMP Technical Report 11 -@section OpenMP Technical Report 11 +@node OpenMP Technical Report 12 +@section OpenMP Technical Report 12 -Technical Report (TR) 11 is the first preview for OpenMP 6.0. +Technical Report (TR) 12 is the second preview for OpenMP 6.0. @unnumberedsubsec New features listed in Appendix B of the OpenMP specification @multitable @columnfractions .60 .10 .25 @item Features deprecated in versions 5.2, 5.1 and 5.0 were removed @tab N/A @tab Backward compatibility -@item The @code{decl} attribute was added to the C++ attribute syntax - @tab Y @tab +@item Full support for C23 was added @tab P @tab +@item Full support for C++23 was added @tab P @tab @item @code{_ALL} suffix to the device-scope environment variables @tab P @tab Host device number wrongly accepted +@item @code{num_threads} now accepts a list @tab N @tab +@item Supporting increments with abstract names in @code{OMP_PLACES} @tab N @tab +@item Extension of @code{OMP_DEFAULT_DEVICE} and new + @code{OMP_AVAILABLE_DEVICES} environment vars @tab N @tab +@item New @code{OMP_THREADS_RESERVE} environment variable @tab N @tab +@item The @code{decl} attribute was added to the C++ attribute syntax + @tab Y @tab +@item The OpenMP directive syntax was extended to include C 23 attribute + specifiers @tab Y @tab +@item All inarguable clauses take now an optional Boolean argument @tab N @tab @item For Fortran, @emph{locator list} can be also function reference with data pointer result @tab N @tab +@item Concept of @emph{assumed-size arrays} in C and C++ + @tab N @tab +@item @emph{directive-name-modifier} accepted in all clauses @tab N @tab +@item For Fortran, atomic with BLOCK construct and, for C/C++, with + unlimited curly braces supported @tab N @tab +@item For Fortran, atomic compare with storing the comparison result + @tab N @tab +@item New @code{looprange} clause @tab N @tab @item Ref-count change for @code{use_device_ptr}/@code{use_device_addr} @tab N @tab +@item Support for inductions @tab N @tab @item Implicit reduction identifiers of C++ classes @tab N @tab @item Change of the @emph{map-type} property from @emph{ultimate} to @emph{default} @tab N @tab -@item Concept of @emph{assumed-size arrays} in C and C++ - @tab N @tab +@item @code{self} modifier to @code{map} and @code{self} as + @code{defaultmap} argument @tab N @tab @item Mapping of @emph{assumed-size arrays} in C, C++ and Fortran @tab N @tab @item @code{groupprivate} directive @tab N @tab -@item @code{local} clause to declare target directive @tab N @tab +@item @code{local} clause to @code{declare target} directive @tab N @tab @item @code{part_size} allocator trait @tab N @tab @item @code{pin_device}, @code{preferred_device} and @code{target_access} allocator traits @@ -480,28 +499,47 @@ Technical Report (TR) 11 is the first preview for OpenMP 6.0. modifiers of the @code{init} clause @tab N @tab @item @code{interop} clause to @code{dispatch} @tab N @tab +@item @code{message} and @code{severity} calauses to @code{parallel} directive + @tab N @tab +@item @code{self} clause to @code{requires} directive @tab N @tab +@item @code{no_openmp_constructs} assumptions clause @tab N @tab +@item @code{reverse} loop-transformation construct @tab N @tab +@item @code{interchange} loop-transformation construct @tab N @tab +@item @code{fuse} loop-transformation construct @tab N @tab @item @code{apply} code to loop-transforming constructs @tab N @tab @item @code{omp_curr_progress_width} identifier @tab N @tab @item @code{safesync} clause to the @code{parallel} construct @tab N @tab @item @code{omp_get_max_progress_width} runtime routine @tab N @tab @item @code{strict} modifier keyword to @code{num_threads} @tab N @tab +@item @code{atomic} permitted in a construct with @code{order(concurrent)} + @tab N @tab +@item @code{coexecute} directive for Fortran @tab N @tab +@item Fortran DO CONCURRENT as associated loop in a @code{loop} construct + @tab N @tab +@item @code{threadset} clause in task-generating constructs @tab N @tab +@item @code{nowait} clause with reverse-offload @code{target} directives + @tab N @tab +@item Boolean argument to @code{nowait} and @code{nogroup} may be non constant + @tab N @tab @item @code{memscope} clause to @code{atomic} and @code{flush} @tab N @tab +@item @code{omp_is_free_agent} and @code{omp_ancestor_is_free_agent} routines + @tab N @tab +@item @code{omp_target_memset} and @code{omp_target_memset_rect_async} routines + @tab N @tab @item Routines for obtaining memory spaces/allocators for shared/device memory @tab N @tab @item @code{omp_get_memspace_num_resources} routine @tab N @tab @item @code{omp_get_submemspace} routine @tab N @tab +@item @code{ompt_target_data_transfer} and @code{ompt_target_data_transfer_async} + values in @code{ompt_target_data_op_t} enum @tab N @tab @item @code{ompt_get_buffer_limits} OMPT routine @tab N @tab -@item Extension of @code{OMP_DEFAULT_DEVICE} and new - @code{OMP_AVAILABLE_DEVICES} environment vars @tab N @tab -@item Supporting increments with abstract names in @code{OMP_PLACES} @tab N @tab @end multitable -@unnumberedsubsec Other new TR 11 features +@unnumberedsubsec Other new TR 12 features @multitable @columnfractions .60 .10 .25 @item Relaxed Fortran restrictions to the @code{aligned} clause @tab N @tab @item Mapping lambda captures @tab N @tab -@item For Fortran, atomic compare with storing the comparison result - @tab N @tab +@item New @code{omp_pause_stop_tool} constant for omp_pause_resource @tab N @tab @end multitable @@ -1385,6 +1423,8 @@ They have C linkage and do not throw exceptions. * omp_get_max_task_priority:: Maximum task priority value that can be set * omp_in_explicit_task:: Whether a given task is an explicit task * omp_in_final:: Whether in final or included task region +@c * omp_is_free_agent:: /TR12 +@c * omp_ancestor_is_free_agent:: /TR12 @end menu -- cgit v1.1