Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Pardiso gives segmentation fault

Areg_G_
Beginner
162 Views

Hi,

I am trying to diagonalize matrix with Arpack using Pardiso. For small sizes of the matrix everything works fine, but for slightly larger matrices (7300x7300) Pardiso gives segmentation fault. When I run under gdb I get the following backtrace

#0  0x00007ffff4379220 in mkl_pds_lp64_metis_pqueueupdateup ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_core.so
#1  0x00007ffff437f681 in mkl_pds_lp64_metis_fm_2waynoderefine_onesided ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_core.so
#2  0x00007ffff437ff81 in mkl_pds_lp64_metis_refine2waynode ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_core.so
#3  0x00007ffff437018f in mkl_pds_lp64_metis_mlevelnodebisectionmultiple ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_core.so
#4  0x00007ffff19bbc7c in mkl_pds_lp64_metis_mlevelnesteddissection_pardiso ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_intel_thread.so
#5  0x00007ffff19bbf8d in mkl_pds_lp64_metis_mlevelnesteddissection_pardiso ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_intel_thread.so
#6  0x00007ffff19bbf8d in mkl_pds_lp64_metis_mlevelnesteddissection_pardiso ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_intel_thread.so
#7  0x00007ffff19bbf8d in mkl_pds_lp64_metis_mlevelnesteddissection_pardiso ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_intel_thread.so
#8  0x00007ffff437137f in mkl_pds_lp64_metis_nodend_vbsr_pardiso ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_core.so
#9  0x00007ffff4391b60 in mkl_pds_lp64_pds_nested_disection ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_core.so
#10 0x00007ffff438d199 in mkl_pds_lp64_pds_reordering ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_core.so
#11 0x00007ffff438cbf4 in mkl_pds_lp64_dist_pardiso ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_core.so
#12 0x00007ffff4618a6d in mkl_pds_lp64_pardiso ()
   from /home/aghazary/intel/compilers_and_libraries_2019.3.199/linux/mkl/lib/intel64_lin/libmkl_core.so
#13 0x000055555555c3dd in GenMatProdShift::perform_op (this=0x7fffffffd670, xIn=0x555555903270, yOut=0x55555591ff20) at diag.cpp:119
#14 0x000055555555cb0d in calcEValues (baseHam=..., op=..., evalues=0x555555865640, evecs=0x7fffeccf3010, shiftMethod=true,
    neigs=40) at diag.cpp:224
#15 0x0000555555556128 in main () at main.cpp:74

which is not particularly illuminating. I am attaching my code, which is slightly complicated, but pardiso code is in diag.cpp and I am also attaching resulting sparse matrix in CSR format.

 

Please let me know if you need further details.

 

Thanks,

Areg Ghazaryan

0 Kudos
2 Replies
Areg_G_
Beginner
162 Views

Ok I figured out, if I use Hermitian matrix I need to provide to Pardiso only upper part. If I provide full matrix it gives the segmentation fault.

Thanks.

Areg

Kirill_V_Intel
Employee
162 Views

Yep, that's how it works.
Let us know if you encounter any other issues when using PARDISO.

Best,
Kirill

Reply