Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Date for openmp workshare support?

Torres__Alberto
Beginner
427 Views
Hi people,
I would like to know when (a 'guess' date is fine!) the openmp directive WORKSHARE will be inplemented for real in the Intel Fortran compiler.
Thanks,
Alberto.
0 Kudos
3 Replies
Kevin_D_Intel
Employee
427 Views

For those who may not know what you are referring to, the WORKSHARE directive is currently implemented with a SINGLE construct. Improvements to WORKSHARE was planned for the next major release later this year but due to unforeseen issues had to unfortunately be postponed.

The work remains on the table for re-scheduling after the next major release later this year. It is not practical to try guessing when the work may be completed at this time. I associated this thread with the two related internal tracking ids and will post updates as I learn them from Development.

(Internal tracking ids: DPD200032492, DPD200045053)

(Resolution Update on 8/30/2014): This feature is implemented in the Intel® Parallel Studio XE 2015 release. Refer to OpenMP* 4.0 Features in Intel Compiler 15.0 for some details.

0 Kudos
TimP
Honored Contributor III
427 Views

My test cases (rank 2 problems) show that OMP WORKSHARE threading was implemented in those compilers, but performance is significantly lower than OMP PARALLEL DO (using separate inner and outer loop reduction variables where applicable).

We are still learning about OpenMP 4.  Just found out that the legacy Intel directive !dir$ novector is spelled !$omp simd safelen(1).

0 Kudos
Harald
Beginner
427 Views

Tim Prince wrote:

My test cases (rank 2 problems) show that OMP WORKSHARE threading was implemented in those compilers, but performance is significantly lower than OMP PARALLEL DO (using separate inner and outer loop reduction variables where applicable).

We are still learning about OpenMP 4.  Just found out that the legacy Intel directive !dir$ novector is spelled !$omp simd safelen(1).

OMP WORKSHARE is already in the OpenMP 2.5 specs (May 2005), so it's not really new.

OMP SIMD is in OpenMP 4.  Using this directive with "older" compilers (i.e. OpenMP <= 3.1) may make it cumbersome to write portable code which uses OpenMP, maybe more so than with the "!dir$ novector" directive that is also interpreted by other compilers.

The good thing is that the Intel compiler has an "-qopenmp-simd" option.

 

0 Kudos
Reply