If clause for SIMD construct

OpenMP 5.0 will be the next version of the OpenMP specification, which we expect will be officially released in 2018. TR4 can be viewed as an alpha release of OpenMP 5.0 This forum is for public discussion of the Technical Report.
Locked
Spreis
Posts: 12
Joined: Tue Jul 14, 2015 9:35 am

If clause for SIMD construct

Post by Spreis »

This was suggested couple of times already, but maybe OpenMP 5.0 will make it happen.

Rationale: SIMD execution is not always profitable (think short trip counts) or even allowed (think overlapped memory accesses). It seems reasonable and desirable to have 'if' clause applicable to simd construct to permit SIMD execution in favorable conditions and prohibit otherwise. In OpenMP 4.5 the precise specification of construct to which IF applies was added, so use of IF in `parallel simd for` and similar combined cases is no longer a problem. From implementation standpoint this also does't seems complex: compilers already perform checks before entering SIMD execution for a loop and so it won't be hard to add user-defined condition to the set of checked conditions.

Locked