I am using Intel Parallel Inspector 2011 on a Windows machine, along with the 11.1 compiler, and receive multiple warnings on stack cross access for my FORTRAN code, which I do not understand.
The FORTRAN code has multiple parallel regions, separated by serial sections. A subroutine REALLOCP is called (once during the execution) in a serial section, in which several global arrays are allocated. These arrays are used later in the progrm in parallel DO loops. The Inspector flagseachaccess to these arrays inallparallel sections with the Stack Cross Access warnings.
I am not very versed in these things, but the only explanation i could come up with was that REALLOCP is executed by a thread other than the master thread, thus palcing these arrays on its stack. To test it, i placed the call to REALLOCP inside a "!$omp master - !$omp end master" directive, and the wanrings went away.
It sounds crazy to me but is it possible that a serial section is assigned to a thread other than the master thread?