OpenMP 5.0#
New features listed in Appendix B of the OpenMP specification#
Description |
Status |
Comments |
---|---|---|
Array shaping |
N |
|
Array sections with non-unit strides in C and C++ |
N |
|
Iterators |
Y |
|
|
N |
|
|
P |
simd traits not handled correctly |
target-offload-var ICV and |
Y |
|
Nested-parallel changes to max-active-levels-var ICV |
Y |
|
|
P |
complete but no non-host devices provides |
|
Y |
|
Non-rectangular loop nests |
Y |
|
|
Y |
|
|
Y |
|
Collapse of associated loops that are imperfectly nested loops |
N |
|
Clauses |
Y |
|
|
Y |
|
|
Y |
|
|
Y |
|
|
Y |
|
|
Y |
|
|
P |
|
|
Y |
|
|
Y |
|
|
Y |
Stub only |
|
Y |
|
|
Y |
|
|
Y |
|
|
Y |
|
|
Y |
|
Predefined memory spaces, memory allocators, allocator traits |
Y |
Some are only stubs |
Memory management routines |
Y |
|
|
N |
|
|
P |
Initial support |
|
Y |
|
|
Y |
See comment for |
Implicit declare target directive |
Y |
|
Discontiguous array section with |
N |
|
C/C++’s lvalue expressions in |
N |
|
C/C++’s lvalue expressions in |
Y |
|
Nested |
Y |
|
Combined |
Y |
|
|
Y |
|
Weak memory ordering clauses on |
Y |
|
|
Y |
Stub only |
|
Y |
|
Lock hints were renamed to synchronization hints |
Y |
|
|
Y |
|
Map-order clarifications |
P |
|
|
Y |
|
Mapping C/C++ pointer variables and to assign the address of device memory mapped by an array section |
P |
|
Mapping of Fortran pointer and allocatable variables, including pointer and allocatable components of variables |
P |
Mapping of vars with allocatable components unsupported |
|
Y |
|
|
N |
|
|
Y |
|
Runtime routines and environment variables to display runtime thread affinity information |
Y |
|
|
Y |
|
|
Y |
|
OMPT interface |
N |
|
OMPD interface |
N |
Other new OpenMP 5.0 features#
Description |
Status |
Comments |
---|---|---|
Supporting C++’s range-based for loop |
Y |