Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7030 Discussions

Segmentation Fault using Pardiso Sparse Solver

I am attempting to use the pardiso software in my finite element code.
The code is written in fortran 90 and I have the Intel Math Kernel
Library version 8.1.1 for Linux. I have the non-commercial intel
compiler version 9.1.036 installed. I am able to get my code to compile with no linking errors however on first call to the pardiso routine the
code throws a segmention fault. The stacktrace I get is the following:

forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
. FFFFE410 Unknown Unknown Unknown 4003ED49 Unknown Unknown Unknown 4008034B Unknown Unknown Unknown 403B765E Unknown Unknown Unknown

I have compiled the same code on both 64 bit(em64t) and 32 bit linux machines
with similar runtime errors.

I am linking my code using the following commands
-CB -fpp1 -r8 -g -traceback -ftrapuv -debug all -check args -check
format -check output_conversion -check power -check uninit -openmp and link as follows:

$(MKL_DIR)/libmkl_solver.a $(MKL_DIR)/libmkl_lapack.a
$(MKL_DIR)/libmkl_ia32.a $(MKL_DIR)/libmkl_lapack.a -L$(MKL_DIR) -lguide
-lpthread -lm -llammpio -llamf77mpi -lmpi -llam where MKL_DIR is the
appropriate directory for the MKL libraries. Also I am using lam mpi so the last libraries refer to this. I have increased my stacksize, as this has caused problems before with other codes, but this does not appear to help. Any ideas? Do I need to upgrade my compiler and/or libraries? Are they not compatible?

Thanks. Peter
0 Kudos
1 Reply

Hi, Peter,

There are no incompatibilities between MKL 8.1.1 and the 9.x Intel compilers, so we need not worry about that. In fact, in general, MKL has been implemented in ways that eliminate compiler dependencies. The one compiler dependency that does exist is remedied by the supply of the runtime library needed, namely libguide to support threading.

I don't know what is going on here, so can just throw out some thoughts. But since this is an open foum, that's OK.Because the program successfully links, you know that you have all the supporting libraries on the link line.

We know that PARDISO works well - there are a lot of customers who use the code successfully. Your code actually fails in libguide, not in PARDISO. The only reason that I know of that causes failures in libguide is stack size. You have stated that you increased the stack size, but did not specify to what size. I would suggest you increase it again and see what happens. --Bruce

0 Kudos