I'm running an OpenMP application (minimal example) :
!$OMP PARALLEL DO
Array_Out(KR) = Array_Input(KR)
!$OMP END PARALLEL DO
I verified that I do not have data race (I get the same results with only one thread), however when running the application in the Inspector XE 2013 - I get a massage that I have cross-thread stack accesses.
How can I prevent this behavior, and what is the practical effect if not on the results ?
Thanks in advance for your replies,
Cross-thread stack access means, one thread accesses the stack memory which is in another thread. For example, if you want to create a new thread with parameter(s) which may used in another thread, it might have data race. This is only a warning message.
For OpenMP program, you can ignore such information from inspector's result.