libgomp.texi: Update and cleanup of Impl. Status of OpenMP TR13

libgomp/ChangeLog:

	* libgomp.texi (OpenMP Technical Report 13): Wording cleanup;
	sort as in Appendix B; add missing items; remove duplicates.
This commit is contained in:
Tobias Burnus 2024-10-07 23:13:29 +02:00
parent e4c0595ec4
commit e2039386b8

View File

@ -462,28 +462,33 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@item Full support for Fortran 2023 was added @tab P @tab @item Full support for Fortran 2023 was added @tab P @tab
@item @code{_ALL} suffix to the device-scope environment variables @item @code{_ALL} suffix to the device-scope environment variables
@tab P @tab Host device number wrongly accepted @tab P @tab Host device number wrongly accepted
@item @code{num_threads} now accepts a list @tab N @tab @item @code{num_threads} clause now accepts a list @tab N @tab
@item Abstract names added for @code{OMP_NUM_THREADS}, @item Abstract names added for @code{OMP_NUM_THREADS},
@code{OMP_THREAD_LIMIT} and @code{OMP_TEAMS_THREAD_LIMIT} @code{OMP_THREAD_LIMIT} and @code{OMP_TEAMS_THREAD_LIMIT}
@tab N @tab @tab N @tab
@item Supporting increments with abstract names in @code{OMP_PLACES} @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 @item Extension of @code{OMP_DEFAULT_DEVICE} and new
@code{OMP_AVAILABLE_DEVICES} environment vars @tab N @tab @code{OMP_AVAILABLE_DEVICES} environment vars @tab N @tab
@item New @code{uid} trait for target devices and for
@code{OMP_AVAILABLE_DEVICES} and @code{OMP_DEFAULT_DEVICE} @tab N @tab
@item New @code{OMP_THREADS_RESERVE} environment variable @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 @item The @code{decl} attribute was added to the C++ attribute syntax
@tab Y @tab @tab Y @tab
@item The OpenMP directive syntax was extended to include C 23 attribute @item The OpenMP directive syntax was extended to include C23 attribute
specifiers @tab Y @tab specifiers @tab Y @tab
@item Support for pure directives in Fortran's @code{do concurrent} @tab N @tab @item Support for pure directives in Fortran's @code{do concurrent} @tab N @tab
@item All inarguable clauses take now an optional Boolean argument @tab N @tab @item All inarguable clauses take now an optional Boolean argument @tab N @tab
@item The @code{adjust_args} clause was extended to specify the argument by position @item The @code{adjust_args} clause was extended to specify the argument by position
and supports variadic arguments @tab N @tab
@item For Fortran, @emph{locator list} can be also function reference with @item For Fortran, @emph{locator list} can be also function reference with
data pointer result @tab N @tab data pointer result @tab N @tab
@item Concept of @emph{assumed-size arrays} in C and C++ @item Concept of @emph{assumed-size arrays} in C and C++
@tab N @tab @tab N @tab
@item @emph{directive-name-modifier} accepted in all clauses @tab N @tab @item @emph{directive-name-modifier} accepted in all clauses @tab N @tab
@item Argument-free version of @code{depobj} including added @code{init} clause @item Extension of @code{interop} operation of @code{append_args}, allowing
@tab N @tab all modifiers of the @code{init} clause @tab N @tab
@item New argument-free version of @code{depobj} with repeatable clauses and
the @code{init} clause @tab N @tab
@item Undeprecate omitting the argument to the @code{depend} clause of @item Undeprecate omitting the argument to the @code{depend} clause of
the argument version of the @code{depend} construct @tab Y @tab the argument version of the @code{depend} construct @tab Y @tab
@item For Fortran, atomic with BLOCK construct and, for C/C++, with @item For Fortran, atomic with BLOCK construct and, for C/C++, with
@ -492,19 +497,20 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@item For Fortran, atomic with enum and enumeration types @tab N @tab @item For Fortran, atomic with enum and enumeration types @tab N @tab
@item For Fortran, atomic compare with storing the comparison result @item For Fortran, atomic compare with storing the comparison result
@tab N @tab @tab N @tab
@item New @code{looprange} clause @tab N @tab @item Canonical loop sequences and new @code{looprange} clause @tab N @tab
@item For Fortran, handling polymorphic types in data-sharing-attribute @item For Fortran, handling polymorphic types in data-sharing-attribute
clauses @tab P @tab @code{private} not supported clauses @tab P @tab @code{private} not supported
@item For Fortran, rejecting polymorphic types in data-mapping clauses @item For Fortran, rejecting polymorphic types in data-mapping clauses
@tab N @tab not diagnosed (and mostly unsupported) @tab N @tab not diagnosed (and mostly unsupported)
@item New @code{taskgraph} construct including @code{saved} modifier and @item New @code{taskgraph} construct including @code{saved} modifier and
@code{replayable} clause @tab N @tab @code{replayable} clause @tab N @tab
@item @code{default} clause on the @code{target} directive @tab N @tab @item @code{default} clause on the @code{target} directive and accepting
@item Ref-count change for @code{use_device_ptr} and @code{use_device_addr} variable categories @tab N @tab
@tab N @tab @item Semantic change regarding the reference count update with
@code{use_device_ptr} and @code{use_device_addr} @tab N @tab
@item Support for inductions @tab N @tab @item Support for inductions @tab N @tab
@item Deprecation of the combiner expression in the @code{declare_reduction} @item Reduction over private variables with @code{reduction} clause
argument @tab N @tab @tab N @tab
@item Implicit reduction identifiers of C++ classes @item Implicit reduction identifiers of C++ classes
@tab N @tab @tab N @tab
@item New @code{init_complete} clause to the @code{scan} directive @item New @code{init_complete} clause to the @code{scan} directive
@ -512,8 +518,6 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@item @code{ref} modifier to the @code{map} clause @tab N @tab @item @code{ref} modifier to the @code{map} clause @tab N @tab
@item New @code{storage} map-type modifier; context-dependent @code{alloc} and @item New @code{storage} map-type modifier; context-dependent @code{alloc} and
@code{release} are aliases @tab N @tab @code{release} are aliases @tab N @tab
@item Update of the map-type decay for mapping and @code{declare_mapper}
@tab N @tab
@item Change of the @emph{map-type} property from @emph{ultimate} to @item Change of the @emph{map-type} property from @emph{ultimate} to
@emph{default} @tab N @tab @emph{default} @tab N @tab
@item @code{self} modifier to @code{map} and @code{self} as @item @code{self} modifier to @code{map} and @code{self} as
@ -524,8 +528,9 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@item For Fortran, the @code{automap} modifier to the @code{enter} clause @item For Fortran, the @code{automap} modifier to the @code{enter} clause
of @code{declare_target} @tab N @tab of @code{declare_target} @tab N @tab
@item @code{groupprivate} directive @tab N @tab @item @code{groupprivate} directive @tab N @tab
@item @code{local} clause to @code{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{part_size} allocator trait for @code{interleaved} allocator
partitions @tab N @tab
@item @code{pin_device}, @code{preferred_device} and @code{target_access} @item @code{pin_device}, @code{preferred_device} and @code{target_access}
allocator traits allocator traits
@tab N @tab @tab N @tab
@ -533,12 +538,7 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@item New @code{partitioner} value to @code{partition} allocator trait @item New @code{partitioner} value to @code{partition} allocator trait
@tab N @tab @tab N @tab
@item Semicolon-separated list to @code{uses_allocators} @tab N @tab @item Semicolon-separated list to @code{uses_allocators} @tab N @tab
@item New @code{uid} trait for target devices and for @item New @code{need_device_addr} modifier to @code{adjust_args} clause @tab N @tab
@code{OMP_AVAILABLE_DEVICES} and @code{OMP_DEFAULT_DEVICE} @tab N @tab
@item Extension of @code{interop} operation of @code{append_args}, allowing
all modifiers of the @code{init} clause @tab N @tab
@item For @code{adjust_args}, new @code{need_device_addr} clause and
handling variadic arguments @tab N @tab
@item @code{interop} clause to @code{dispatch} @tab N @tab @item @code{interop} clause to @code{dispatch} @tab N @tab
@item Scope requirement changes for @code{declare_target} @tab N @tab @item Scope requirement changes for @code{declare_target} @tab N @tab
@item @code{message} and @code{severity} clauses to @code{parallel} directive @item @code{message} and @code{severity} clauses to @code{parallel} directive
@ -563,12 +563,15 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@code{loop} construct @tab N @tab @code{loop} construct @tab N @tab
@item @code{atomic} permitted in a construct with @code{order(concurrent)} @item @code{atomic} permitted in a construct with @code{order(concurrent)}
@tab N @tab @tab N @tab
@item Lifted restrictions on not-strictly-nested regions with
@code{order(concurrent)} @tab N @tab
@item @code{workdistribute} directive for Fortran @tab N @tab @item @code{workdistribute} directive for Fortran @tab N @tab
@item Fortran DO CONCURRENT as associated loop in a @code{loop} construct @item Fortran @code{DO CONCURRENT} as associated loop in a @code{loop} construct
@tab N @tab @tab N @tab
@item New @code{task_iteration} directive inside @code{taskloop} @tab N @tab
@item @code{threadset} clause in task-generating constructs @tab N @tab @item @code{threadset} clause in task-generating constructs @tab N @tab
@item New @code{priority} clause to @code{target}, @code{target_enter_data}, @item New @code{priority} clause to @code{target}, @code{target_enter_data},
@code{target_data}, @code{ŧarget_exit_data} and @code{target_update} @code{target_data}, @code{target_exit_data} and @code{target_update}
@tab N @tab @tab N @tab
@item New @code{device_type} clause to the @code{target} directive. @item New @code{device_type} clause to the @code{target} directive.
@tab N @tab @tab N @tab
@ -581,6 +584,10 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@item @code{memscope} clause to @code{atomic} and @code{flush} @tab N @tab @item @code{memscope} clause to @code{atomic} and @code{flush} @tab N @tab
@item New @code{transparent} clause for multi-generational task-dependence graphs @item New @code{transparent} clause for multi-generational task-dependence graphs
@tab N @tab @tab N @tab
@item The @code{cancel} construct new completes tasks with unfulfilled events
@tab N @tab
@item @code{omp_fulfill_event} routine was restricted regarding fulfillment of
event variables @tab N @tab
@item Added rule for compound-directive names, permitting many more combinations @item Added rule for compound-directive names, permitting many more combinations
@tab N @tab @tab N @tab
@item @code{omp_is_free_agent} and @code{omp_ancestor_is_free_agent} routines @item @code{omp_is_free_agent} and @code{omp_ancestor_is_free_agent} routines
@ -596,8 +603,8 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@item Routines for obtaining memory spaces/allocators for shared/device memory @item Routines for obtaining memory spaces/allocators for shared/device memory
@tab N @tab @tab N @tab
@item @code{omp_get_memspace_num_resources} routine @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{omp_get_memspace_pagesize} routine @tab N @tab @item @code{omp_get_memspace_pagesize} routine @tab N @tab
@item @code{omp_get_submemspace} routine @tab N @tab
@item @code{omp_init_mempartitioner}, @code{omp_destroy_mempartitioner}, @item @code{omp_init_mempartitioner}, @code{omp_destroy_mempartitioner},
@code{omp_init_mempartition}, @code{omp_destroy_mempartition}, @code{omp_init_mempartition}, @code{omp_destroy_mempartition},
@code{omp_mempartition_set_part}, @code{omp_mempartition_get_user_data} @code{omp_mempartition_set_part}, @code{omp_mempartition_get_user_data}
@ -613,11 +620,15 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@code{ompt_target_data_transfer_from_device_async} of the @code{target_data_op} @code{ompt_target_data_transfer_from_device_async} of the @code{target_data_op}
OMPT type were deprecated @tab N @tab OMPT type were deprecated @tab N @tab
@item @code{ompt_get_buffer_limits} OMPT routine @tab N @tab @item @code{ompt_get_buffer_limits} OMPT routine @tab N @tab
@end multitable
@c From the deprecation list, unless listed above. @unnumberedsubsec Deprecated features, unless listed above.
@multitable @columnfractions .60 .10 .25
@item Deprecation of omitting the optional white space to separate adjacent @item Deprecation of omitting the optional white space to separate adjacent
keywords in the directive-name in Fortran @tab N @tab keywords in the directive-name in Fortran (fixed and free source form)
@tab N @tab
@item Deprecation of the combiner expression in the @code{declare_reduction}
argument @tab N @tab
@item Deprecation of the Fortran include file @code{omp_lib.h} @item Deprecation of the Fortran include file @code{omp_lib.h}
@tab N @tab @tab N @tab
@end multitable @end multitable
@ -625,13 +636,12 @@ Technical Report (TR) 13 is the third preview for OpenMP 6.0.
@unnumberedsubsec Other new TR 13 features @unnumberedsubsec Other new TR 13 features
@multitable @columnfractions .60 .10 .25 @multitable @columnfractions .60 .10 .25
@item Multi-word directives now use underscore by default @tab N @tab @item Multi-word directives now use underscore by default @tab N @tab
@item Canonical loop nest enclosed in (multiple) curly braces (C/C++) or BLOCK constructs (Fortran)
@tab N @tab
@item Relaxed Fortran restrictions to the @code{aligned} clause @tab N @tab @item Relaxed Fortran restrictions to the @code{aligned} clause @tab N @tab
@item Mapping lambda captures @tab N @tab @item Mapping lambda captures @tab N @tab
@item New @code{omp_pause_stop_tool} constant for omp_pause_resource @tab N @tab @item New @code{omp_pause_stop_tool} constant for omp_pause_resource @tab N @tab
@item Multi-word directive names are now permitted with underscore @tab N @tab @item In Fortran (fixed and free source form), spaces between directive names are mandatory
@item In Fortran (fixed + free), space between directive names is mandatory @tab N @tab
@item Update of the map-type decay for mapping and @code{declare_mapper}
@tab N @tab @tab N @tab
@end multitable @end multitable