optimization problem

optimization problem

Hello,

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 ??

thanks.

regards,
Kalyan

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I was able to successfully execute the code at O3 and the larger dataset after setting the limits to large soft values like 1 G and 1.5 G and also set the per thread stack size to a large value (KMP_STACKSIZE). Somehow Fortran v 8.0 seems to use a large amount of stack space as noted on the web site.

Anyway, hopefully others wont spend so much time on debugging the code and lots of runs when facing same problem.

Just set very very large values for stack.

thanks.

regards,
Kalyan

Leave a Comment

Please sign in to add a comment. Not a member? Join today