I got a few questions about Inspector XE I use with the Fortran Compiler 18.104.22.168.
Is there a way to only check for races in the dynamical context of a certain TASK/Parallel construct?
Does Inspector understand OpenMP TASK, MASTER and Parallel constructs?
An example where it seems not to be the case.
When I do similar to
Zero A, x and b
Each task compute its own row of matrix A and element of answer b.
!$OMP END TASK
end loop row
!$OMP END master
!$OMP END Parallel
Inspector indicate a race between assembling A and solving the system of equations, I do not believe this is a true race, how do I avoid it being reported so.
To avoid many falsely detected problems I previously moved Zeroing from just before the TASK region to the serial part before the Parallel region, I hope there is a smoother way.
If I understand correctly; annotations could be used in my code to help Inspector understand the program and give better reports.
Is there a example where annotations is used in Fortran code that I could learn from, I do not speak C/C++ ?
Many of the reported problems state as "Focus Code Location" the beginning of a OpenMP region, for example the !$OMP TASK line. What might this mean?