Showing results for 
Search instead for 
Did you mean: 

User error or bug in p?geevx ?

Dear MKL Community,

I have encountered a problem while converting C code that uses LAPACK into code that will use ScaLAPACK. I need to find the right eigenvectors of a non-symmetric real matrix and both sets of eigenvectors (along with eigenvalues) of a non-symmetric, non-hermitian complex matrix.

It is tempting to jump to the conclusion that there is a bug in the relatively newly released p?geevx routines. But I realize that it probably is more likely that I misunderstood the documentation and am sending one or more incorrect parameters to routines or mis-initializing arrays.

I would greatly appreciate it if a more experienced user could take a look at my code to help me find the problem (or problems).

As part of the process of debugging, I stripped the code to more-or-less the bare minimum needed to produce the undesirable behavior. I am posting the real version as pdtest.c and the complex version as pztest.c. The compiler switches I used to compile the code are provided in comments at the beginning of these files.

I am compiling using the gnu C compiler on Ubuntu 16.04 LTS. I have tried both 2020 releases of Intel MKL. I'm using the 2019.7.217 version of the Intel MPI.

The pdtest.c code appears to work with matrix size=12. Example output is provided in the file output01.txt. However, with size=14, the application aborts with calls to MPI_Abort (as seen in output02.txt).

The pztest.c code appears to get stuck in an endless loop, never returning from the call to pzgeevx.  (By never I mean about an hour.) Example output is provided in output03.txt. It may be helpful to know that top shows 100% CPU usage by the processes (see top-output.txt).

Thank you in advance for your help with this problem!

Yours sincerely,



0 Kudos
0 Replies