Features deprecated in versions 5.0, 5.1 and 5.2 were removed | N/A | Backward compatibility |
Full support for C23 was added | P | |
Full support for C++23 was added | P | |
Full support for Fortran 2023 was added | P | |
_ALL suffix to the device-scope environment variables | P | Host device number wrongly accepted |
num_threads now accepts a list | N | |
Abstract names added for OMP_NUM_THREADS ,
OMP_THREAD_LIMIT and OMP_TEAMS_THREAD_LIMIT | N | |
Supporting increments with abstract names in OMP_PLACES | N | |
Extension of OMP_DEFAULT_DEVICE and new
OMP_AVAILABLE_DEVICES environment vars | N | |
New OMP_THREADS_RESERVE environment variable | N | |
The decl attribute was added to the C++ attribute syntax | Y | |
The OpenMP directive syntax was extended to include C 23 attribute
specifiers | Y | |
Support for pure directives in Fortran’s do concurrent | N | |
All inarguable clauses take now an optional Boolean argument | N | |
The adjust_args clause was extended to specify the argument by position |
For Fortran, locator list can be also function reference with
data pointer result | N | |
Concept of assumed-size arrays in C and C++ | N | |
directive-name-modifier accepted in all clauses | N | |
Argument-free version of depobj including added init clause | N | |
Undeprecate omitting the argument to the depend clause of
the argument version of the depend construct | Y | |
For Fortran, atomic with BLOCK construct and, for C/C++, with
unlimited curly braces supported | N | |
For Fortran, atomic with pointer comparison | N | |
For Fortran, atomic with enum and enumeration types | N | |
For Fortran, atomic compare with storing the comparison result | N | |
New looprange clause | N | |
For Fortran, handling polymorphic types in data-sharing-attribute
clauses | P | private not supported |
For Fortran, rejecting polymorphic types in data-mapping clauses | N | not diagnosed (and mostly unsupported) |
New taskgraph construct including saved modifier and
replayable clause | N | |
default clause on the target directive | N | |
Ref-count change for use_device_ptr and use_device_addr | N | |
Support for inductions | N | |
Deprecation of the combiner expression in the declare_reduction
argument | N | |
Implicit reduction identifiers of C++ classes | N | |
New init_complete clause to the scan directive | N | |
ref modifier to the map clause | N | |
New storage map-type modifier; context-dependent alloc and
release are aliases | N | |
Update of the map-type decay for mapping and declare_mapper | N | |
Change of the map-type property from ultimate to
default | N | |
self modifier to map and self as
defaultmap argument | N | |
Mapping of assumed-size arrays in C, C++ and Fortran | N | |
delete as delete-modifier not as map type | N | |
For Fortran, the automap modifier to the enter clause
of declare_target | N | |
groupprivate directive | N | |
local clause to declare target directive | N | |
part_size allocator trait | N | |
pin_device , preferred_device and target_access
allocator traits | N | |
access allocator trait changes | N | |
New partitioner value to partition allocator trait | N | |
Semicolon-separated list to uses_allocators | N | |
New uid trait for target devices and for
OMP_AVAILABLE_DEVICES and OMP_DEFAULT_DEVICE | N | |
Extension of interop operation of append_args , allowing
all modifiers of the init clause | N | |
For adjust_args , new need_device_addr clause and
handling variadic arguments | N | |
interop clause to dispatch | N | |
Scope requirement changes for declare_target | N | |
message and severity clauses to parallel directive | N | |
self_maps clause to requires directive | Y | |
no_openmp_constructs assumptions clause | N | |
Restriction for ordered regarding loop-transforming directives | N | |
apply code to loop-transforming constructs | N | |
Non-constant values in the sizes clause | N | |
fuse loop-transformation construct | N | |
interchange loop-transformation construct | N | |
reverse loop-transformation construct | N | |
split loop-transformation construct | N | |
stipe loop-transformation construct | N | |
tile permitting association of grid and inter-tile loops | N | |
strict modifier keyword to num_threads | N | |
safesync clause to the parallel construct | N | |
omp_curr_progress_width identifier | N | |
omp_get_max_progress_width runtime routine | N | |
Lifted restrictions on order(concurrent) and, hence, the
loop construct | N | |
atomic permitted in a construct with order(concurrent) | N | |
workdistribute directive for Fortran | N | |
Fortran DO CONCURRENT as associated loop in a loop construct | N | |
threadset clause in task-generating constructs | N | |
New priority clause to target , target_enter_data ,
target_data , ŧarget_exit_data and target_update | N | |
New device_type clause to the target directive. | N | |
target_data as composite construct | N | |
nowait clause with reverse-offload target directives | N | |
Extended prefer-type modifier to init clause | N | |
Boolean argument to nowait and nogroup may be non constant | N | |
memscope clause to atomic and flush | N | |
New transparent clause for multi-generational task-dependence graphs | N | |
Added rule for compound-directive names, permitting many more combinations | N | |
omp_is_free_agent and omp_ancestor_is_free_agent routines | N | |
omp_get_device_from_uid and omp_get_uid_from_device routines | Y | |
omp_get_device_num_teams , omp_set_device_num_teams ,
omp_get_device_teams_thread_limit , and
omp_set_device_teams_thread_limit routines | N | |
omp_target_memset and omp_target_memset_rect_async routines | N | |
Fortran version of the interop runtime routines | N | |
Routines for obtaining memory spaces/allocators for shared/device memory | N | |
omp_get_memspace_num_resources routine | N | |
omp_get_submemspace routine | N | |
omp_get_memspace_pagesize routine | N | |
omp_init_mempartitioner , omp_destroy_mempartitioner ,
omp_init_mempartition , omp_destroy_mempartition ,
omp_mempartition_set_part , omp_mempartition_get_user_data
routines | N | |
Deprecation of the target_data_op , target ,
target_map and target_submit callbacks and as values that
set_callback must return | N | |
ompt_target_data_transfer and ompt_target_data_transfer_async
values in ompt_target_data_op_t enum | N | |
The values ompt_target_data_transfer_to_device ,
ompt_target_data_transfer_from_device ,
ompt_target_data_transfer_to_device_async and
ompt_target_data_transfer_from_device_async of the target_data_op
OMPT type were deprecated | N | |
ompt_get_buffer_limits OMPT routine | N | |
Deprecation of omitting the optional white space to separate adjacent
keywords in the directive-name in Fortran | N | |
Deprecation of the Fortran include file omp_lib.h | N | |