I am using Intel compilers V8.0 with the latest patches. And I use -O3 -xW -tpp7 for compilation unless specified otherwise in the following.
I have a code which when compiled at O3 xw tpp7 works fine till a particular dataset size. When I exceed that size, it works fine till the end and thenit makes a call to a library (compiled with Intel compilers with flags as stated above) to write binary data to a file. Technically the work the code should do is done. But then it dies with SIGSEGV 11 (Segmentation fault). I tried setting large values (500 MB, 1 Gig) for all limits in ulimit -a. Still the same problem. When I compile the same code with O2 instead of O3 or -g with O3, everything works fine. The code is mostly F90 code and the final executable is linked with Fortran linker.
Also, I was having similar kind of problem (wont work unless -g is added with O3) with another code, and the author of the code replied that maybe the stack frame is being destroyed.
Any suggestions ??