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

Debuging OpenMP TASK constructs

jansson
Beginner
397 Views
HI,

I try to locate a problem in my OpenMP version of a old FORTRAN program.

I use a TASK construct going through a linked list to parallelize.

!$OMP TASK default(none) ...
..
lots of code
..
!$OMP END TASK

I find there is a problem when using many cores*, so I try OMP_SET_NUM_THREADS(1) just before entering thisparallel region, and then the code works. But if I use a CRITICAL section to narrow down the problem the program fail even when its the whole TASK region.

!$OMP TASK default(none) ...
!$OMP CRITICAL(NAME)
..
lots of code
..
!$OMP END CRITICAL(NAME)
!$OMP END TASK


Why might this be?
Any suggestions going forward?
I already tried Inspector and parallel:debug looking for overlapping mem access, with no success...yet...
I guess ORDERED do not work for TASK.

Best Regards,
Magnus

*using 8 threads on my 4+4 hyper threads CPU.
0 Kudos
0 Replies
Reply