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

Code segfault with ifort 11.0

foleydncifcrf_gov
689 Views
I have written a fortran90 code that uses the gnuplotfortran API by Madhusudan Singh. I am able to compile and execute the code with gfortran using a variety of text dataset for 2D and 3D plotting. With the intel compiler, simple (ie small) test cases work but other fail. The large text file feram.dat causes a segfault after the binary database is build and the user selects a set of plot variables. I use the command
./pltrd.intel -i feram.dat -b feram.bin -s time_step -e pi_nose
./pltrd.gfortran -i feram.dat -b feram.bin -s time_step -e pi_nose works!

to generate the database. I have created a compressed tar file that contains all the necessary source and make scripts. This code should be tested on any linux box with gnuplot installed. How can I get the test case to intel compiler support?

Thanks
Dennis

0 Kudos
2 Replies
Ron_Green
Moderator
689 Views

I have a few comments and suggestions.

First, make sure you have read http://software.intel.com/en-us/articles/determining-root-cause-of-sigsegv-or-sigbus-errors/ and tried the ulimit and -heap-array techniques.

Next, the gnuplotfortran library - you must compile the library with Intel Fortran. If you simply downloaded a binary .lib or .so file, was it build for Intel Fortran? And if so, it must be built with the 11.0 version. You cannot use a library built by gfortran linked into an Intel Fortran application.

I'm not familiar with gnuplotfortran and it's binary files. What format is it expecting for the binary file as far as record markers, or is it expecting a file without file record markers? And what, if anything, are you doing to set the file format in Intel Fortran?

Finally, you can attach files to posts: http://software.intel.com/en-us/forums/showannouncement.php?a=78

ron
0 Kudos
foleydncifcrf_gov
689 Views
Ron,

Thought about this problem all weekend and on sunday I looked into the intel fortran compiler for linux knowledge base forum for answers and found it. It seems to be a stack exhaustion issue that can be overcome by the
-heap-arrays compiler option. The code runs almost 2X faster with ifort 11.0 versus the gfortran compiler with fedora 11. I did download the Stack+usage.pdf file suggested in the forum.

Thanks for your reply.

Dennis

I have a few comments and suggestions.

First, make sure you have read http://software.intel.com/en-us/articles/determining-root-cause-of-sigsegv-or-sigbus-errors/ and tried the ulimit and -heap-array techniques.

Next, the gnuplotfortran library - you must compile the library with Intel Fortran. If you simply downloaded a binary .lib or .so file, was it build for Intel Fortran? And if so, it must be built with the 11.0 version. You cannot use a library built by gfortran linked into an Intel Fortran application.

I'm not familiar with gnuplotfortran and it's binary files. What format is it expecting for the binary file as far as record markers, or is it expecting a file without file record markers? And what, if anything, are you doing to set the file format in Intel Fortran?

Finally, you can attach files to posts: http://software.intel.com/en-us/forums/showannouncement.php?a=78

ron

0 Kudos
Reply