- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A segmentation fault occurs when I run following simple c code complied by dynamically on using MKL libraries on Linux:
int n=3;
double a[9]={1, 0.2, 0.1,
0.2, 1.1, 0.05,
0.1, 0.05, 0.9};
double eigval[3];
double work[37];
int lwork=37;
int iwork[18];
int liwork=18;
int info=0;
DSYEVD("V","U", &n, a, &n, eigval, work, &lwork, iwork, &liwork, &info);
I am using BLAS functions with dynamic access to libs with no problem, only the LAPACK function does not work. However, the static usage of the code is working properly.
Here is what I get when running valgrind:
==21353== Jump to the invalid address stated on the next line
==21353== at 0x0: ???
==21353== by 0x4209925: mkl_lapack_dsytd2 (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x437C49F: mkl_lapack_xdsytrd (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x40427FFF: ???
==21353== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==21353==
==21353== Process terminating with default action of signal 11 (SIGSEGV)
==21353== Bad permissions for mapped region at address 0x0
==21353== at 0x0: ???
==21353== by 0x4209925: mkl_lapack_dsytd2 (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x437C49F: mkl_lapack_xdsytrd (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x40427FFF: ???
==21353==
int n=3;
double a[9]={1, 0.2, 0.1,
0.2, 1.1, 0.05,
0.1, 0.05, 0.9};
double eigval[3];
double work[37];
int lwork=37;
int iwork[18];
int liwork=18;
int info=0;
DSYEVD("V","U", &n, a, &n, eigval, work, &lwork, iwork, &liwork, &info);
I am using BLAS functions with dynamic access to libs with no problem, only the LAPACK function does not work. However, the static usage of the code is working properly.
Here is what I get when running valgrind:
==21353== Jump to the invalid address stated on the next line
==21353== at 0x0: ???
==21353== by 0x4209925: mkl_lapack_dsytd2 (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x437C49F: mkl_lapack_xdsytrd (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x40427FFF: ???
==21353== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==21353==
==21353== Process terminating with default action of signal 11 (SIGSEGV)
==21353== Bad permissions for mapped region at address 0x0
==21353== at 0x0: ???
==21353== by 0x4209925: mkl_lapack_dsytd2 (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x437C49F: mkl_lapack_xdsytrd (in /opt/intel/mkl/10.0.1.014/lib/32/libmkl_lapack.so)
==21353== by 0x40427FFF: ???
==21353==
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It seems to be an issue with loading BLAS function dynamically. What is the link line?
Michael.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page