Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- Problem with correct linking of lapack libraries for 64bits.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Cayo_G_

Novice

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

08-21-2020
09:06 AM

329 Views

Problem with correct linking of lapack libraries for 64bits.

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

1 Solution

Gennady_F_Intel

Moderator

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

08-24-2020
12:55 AM

311 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.

Link Copied

6 Replies

Gennady_F_Intel

Moderator

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

08-24-2020
12:55 AM

312 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

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

08-24-2020
02:38 AM

305 Views

Gennady_F_Intel

Moderator

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

08-24-2020
03:48 AM

300 Views

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

Cayo_G_

Novice

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

08-25-2020
12:38 PM

280 Views

Thank you very much, it worked

Gennady_F_Intel

Moderator

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

08-25-2020
08:09 PM

273 Views

ok, thanks for the update

Gennady_F_Intel

Moderator

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

08-25-2020
08:10 PM

273 Views

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

For more complete information about compiler optimizations, see our Optimization Notice.