From patchwork Mon Nov 13 09:32:09 2023
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Patchwork-Submitter: Tobias Burnus
allocate
directivetarget update
constructalign
clause in allocate
directivealign
modifier in allocate
clausetarget update
motion clauses and map clausestarget update
motion clauses and map clausesinterop
directiveUSE
,
- IMPORT
, and IMPLICIT
as invalid
+ IMPORT
, and IMPLICIT
as invalidindirect
clause in declare target
device_type(nohost)
/device_type(host)
for variablesomx
sentinel is warned for with -Wsurprising
(enabled by -Wall
). Unknown clauses are always rejected with an
error.
-Technical Report (TR) 11 is the first preview for OpenMP 6.0.
+Technical Report (TR) 12 is the second preview for OpenMP 6.0.
Backward compatibility | |||||
The decl attribute was added to the C++ attribute syntax
- | GCC 14 | -+ | Full support for C 23 was added | +GCC 9 + / GCC 14 | +Increasing coverage (since GCC 9 -std=c2x ,
+ since GCC 14 -std=c23 ) |
_ALL suffix to the device-scope environment variables
+ | Full support for C++ 23 was added | +GCC 11 + / GCC 14 | +C++ Implementation Status;
+ increasing coverage (since GCC 11 -std=c++2b ,
+ since GCC 14 -std=c++23 ) |
+ ||
_ALL suffix to the device-scope environment variables |
GCC 13 | Host device number wrongly accepted | |||
num_threads now accepts a list |
+ No | ++ | |||
Supporting increments with abstract names in OMP_PLACES |
+ No | ++ | |||
Extension of OMP_DEFAULT_DEVICE and new
+ OMP_AVAILABLE_DEVICES environment vars |
+ No | ++ | |||
New OMP_THREADS_RESERVE environment variable |
+ No | ++ | |||
The decl attribute was added to the C++ attribute syntax |
+ GCC 14 | ++ | |||
The OpenMP directive syntax was extended to include C 23 attribute specifiers | +GCC 14 | ++ | |||
All inarguable clauses take now an optional Boolean argument | +No | ++ | |||
For Fortran, locator list can be also function reference with - data pointer result + data pointer result | +No | ++ | |||
Concept of assumed-size arrays in C and C++ | +No | ++ | |||
directive-name-modifier accepted in all clauses | +No | ++ | |||
For Fortran, atomic with BLOCK construct and, for C/C++, with unlimited + curly braces supported | +No | ++ | |||
For Fortran, atomic compare with storing the comparison result | +No | ++ | |||
New looprange clause |
No | ||||
Implicit reduction identifiers of C++ classes + | Support for inductions | +No | ++ | ||
Implicit reduction identifiers of C++ classes | No | ||||
Change of the map-type property from ultimate to - default + default | No | ||||
Concept of assumed-size arrays in C and C++ + | self modifier to map and self
+ as defaultmap argument |
No | |||
Mapping of assumed-size arrays in C, C++ and Fortran + | Mapping of assumed-size arrays in C, C++ and Fortran | No | |||
groupprivate directive
+ | groupprivate directive |
No | |||
local clause to declare target directive
+ | local clause to declare target directive |
No | |||
part_size allocator trait
+ | part_size allocator trait |
No | |||
pin_device , preferred_device and target_access
- allocator traits
+ allocator traits |
+ No | ++ | |||
access allocator trait changes |
+ No | ++ | |||
Extension of interop operation of append_args ,
+ allowing all modifiers of the init clause |
No | ||||
access allocator trait changes
+ | interop clause to dispatch |
No | |||
Extension of interop operation of append_args , allowing all
- modifiers of the init clause
+ | message and severity clauses to
+ parallel directive |
No | |||
interop clause to dispatch
+ | self clause to requires directive |
No | |||
apply code to loop-transforming constructs
+ | no_openmp_constructs assumptions clause |
No | |||
omp_curr_progress_width identifier
+ | reverse loop-transformation construct |
No | |||
safesync clause to the parallel construct
+ | interchange loop-transformation construct |
No | |||
omp_get_max_progress_width runtime routine
+ | fuse loop-transformation construct |
+ No | ++ | ||
apply code to loop-transforming constructs |
+ No | ++ | |||
omp_curr_progress_width identifier |
+ No | ++ | |||
safesync clause to the parallel construct |
+ No | ++ | |||
omp_get_max_progress_width runtime routine |
No | No | + | ||
atomic permitted in a construct with
+ order(concurrent) |
+ No | ++ | |||
coexecute directive for Fortran |
+ No | ++ | |||
Fortran DO CONCURRENT as associated loop in a loop
+ construct |
+ No | ++ | |||
threadset clause in task-generating constructs |
+ No | ++ | |||
nowait clause with reverse-offload target directives |
+ No | ++ | |||
Boolean argument to nowait and nogroup
+ may be non constant |
+ No | ++ | |||
memscope clause to atomic and flush
| No | ||||
Routines for obtaining memory spaces/allocators for shared/device memory + | omp_is_free_agent and
+ omp_ancestor_is_free_agent routines |
No | |||
omp_get_memspace_num_resources routine
+ | omp_target_memset and
+ omp_target_memset_rect_async routines |
No | |||
omp_get_submemspace routine
+ | Routines for obtaining memory spaces/allocators for shared/device memory | No | |||
ompt_get_buffer_limits OMPT routine
+ | omp_get_memspace_num_resources routine |
No | |||
Extension of OMP_DEFAULT_DEVICE and new
- OMP_AVAILABLE_DEVICES environment vars
+ | omp_get_submemspace routine |
No | |||
Supporting increments with abstract names in OMP_PLACES
+ | ompt_target_data_transfer and
+ ompt_target_data_transfer_async values in
+ ompt_target_data_op_t enum |
No | |||
Relaxed Fortran restrictions to the aligned clause
+ | ompt_get_buffer_limits OMPT routine |
No | |||
Mapping lambda captures + | Relaxed Fortran restrictions to the aligned clause |
No | |||
For Fortran, atomic compare with storing the comparison result + | Mapping lambda captures | +No | ++ | ||
New omp_pause_stop_tool constant for
+ omp_pause_resource |
No |