This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: The size of thread level storage under OpenMP.


Toon Moene wrote:
I have an OpenMP enabled Fortran program that dies a quick death when compiled with -fopenmp
A classical problem with OpenMP is that one runs out of stack memory. The current stack setting can be queried using the sh/bash using "ulimit -s" and using the (t)csh using "limit stacksize". Try to set it to "unlimited". Often systems limit the available stack memory; A soft limit of 8192 kbytes is a typical value under Linux.

The problem is that with -fopenmp all local variables are put on the stack (instead of using static memory), which means that the needed memory might be large as this includes all arrays which are not dynamically allocated (allocatable, pointer, automatic arrays). The variables must not use the static memory as otherwise wrong results are obtained if several threads access the same procedure simultaneously.

However, there are tons of other things which can go wrong ...

Tobias


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]