Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

access violation Fortran

Es_En
Beginner
495 Views
Hi,
I have a large code written in Fortran 77 in UNIX and has been running correctly on UNIX for a huge number of input data (assume that it was working for a matrix which has (360*90)*(128*128) elements).

Right now I am trying to run it in windows for a low number of input that creates a matrix (80*90)*(64*64). But, I am generating an access violation within the program where a one parameter is assigned to another one in a loop which multiplies a matrix to a vector.

I am using Windows XP with 3.5 GB memory, 32 bit OS.

I changed the stack size to -stack=1000000000 (50000000, and some other values). However, it still generates access violation or freeze the program. The code basically works in windows for small values of input data.

Do you have any suggestion?
Thanks
0 Kudos
2 Replies
Wendy_Doerner__Intel
Valued Contributor I
495 Views
Our compiler puts more things on the stack (for performance reasons) than the average Fortran compiler. You have tried modifying the stack, but you might want to try the -heap-arrays switch on the compilation line. This will put some arrays in the heap instead of the stack at a small performance penalty. It this works you could also modify the stack on Windows but perhaps you were not setting it high enough. More details on this including how to modify the stack are in the articles, http://software.intel.com/en-us/articles/intel-fortran-compiler-increased-stack-usage-of-80-or-higher-compilers-causes-segmentation-fault/.

If this is not a fix for you issue, would it be possible to get a test case posted to this issue?

Wendy

Attaching or including files in a post
0 Kudos
Wendy_Doerner__Intel
Valued Contributor I
495 Views
And this article discusses even more reasons you might encounter an access violation with the Intel Fortran Compiler on Windows.

Determining Root Cause of SIGSEGV or SIGBUS errors

0 Kudos
Reply