Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
6588 Discussions

Problem with correct linking of lapack libraries for 64bits.

Cayo_G_
Novice
482 Views

Hello all,

I have a program in which I want to perform a diagonalization of a very large matrix using dsyevd subroutine routine. The dimension of my matrix is 80592, so I need to use integers of 11 digits.

For smaller matrices, I was compiling using the flags "-mkl -CB -heap-arrays -qopenmp -mkl -fpic -mcmodel=large" and everything was fine

But now that I need to use 64 bits integers, I am compiling with "-i8 -I${MKLROOT}/include/intel64/ilp64 -mkl=parallel -CB -heap-arrays -qopenmp -mkl -fpic -mcmodel=large -I${MKLROOT}/include/intel64/ilp64 ${MKLROOT}/lib/intel64/libmkl_blas95_ilp64.a ${ MKLROOT}/lib/intel64/libmkl_lapack95_ilp64.a -liomp5 -lpthread -lm -ldl", which I took from the Intel MKL Link Line advisor, using dynamic linking.

So, when I run my code and reach the part where I call dsyevd, I get the following error:

 

forrtl: severe (174): SIGSEGV, segmentation fault occurred

 

I am trying also with a simple small Identity matrix just to test the 64 bits linking. I get the same error.

Many thanks in advance,

 

Cayo Gonçalves

0 Kudos
1 Solution
Gennady_F_Intel
Moderator
464 Views

please remove -mkl=parallel option and link the example explicitly:

icc -DMKL_ILP64 -I${MKLROOT}/include  -L${MKLROOT}/lib/intel64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl

and declare all integer as MKL_INT into your example.


View solution in original post

6 Replies
Gennady_F_Intel
Moderator
465 Views

please remove -mkl=parallel option and link the example explicitly:

icc -DMKL_ILP64 -I${MKLROOT}/include  -L${MKLROOT}/lib/intel64 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl

and declare all integer as MKL_INT into your example.


Cayo_G_
Novice
458 Views

Thank you for your answer Gennady. Sorry, I didn't realized that I didn't mentioned that I am using ifort, not icc. Does it make a difference for you solution?

Gennady_F_Intel
Moderator
453 Views

it is the same for ifort or icc, icl ....


Cayo_G_
Novice
433 Views
Gennady_F_Intel
Moderator
426 Views

ok, thanks for the update


Gennady_F_Intel
Moderator
426 Views

This issue has been resolved and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only


Reply