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

I'm trying the newly introduced pcgeevx (complex non-hermitian problem - single precision), and I obtain "Intel MKL ERROR: Parameter 14 was incorrect on entry to PCGEEVX." I do not understand how come (the 14th should be an integer and a reference an integer).

Here is (in my opinion) the concerned part

complex :: eigenval(n)

complex :: eigenvec(lda,ldb), matrix(lda,ldb)

integer :: desca(9)

integer :: lwork, lrwork, liwork, idum

real :: dum

real, allocatable :: rwork(:)

complex, allocatable :: work(:)

complex :: cdum

integer, allocatable :: iwork(:)

lwork = -1 ! this is just the first call to obtain the minimum work size requirement

allocate(work(1))

allocate(rwork(n))

allocate(iwork(n))

call pcgeevx('B', 'N', 'V', 'N', n, matrix, desca, eigenval, cdum, idum, eigenvec, desca, &

idum, idum, rwork, dum, rwork, dum, work, lwork, info)

I would like to stress that the if I use the hermitian equivalent pcheevx or the non parallel version cgeev everything works like a charm.

Is it possible that I didn't get right the arguments in pcgeevx?

thanks in advance

Link Copied

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

I have also tried, instead of complex eigenval, to use real and imaginary part arrays, as in

call pcgeevx('B', 'N', 'V', 'N', n, matrix, desca, wr, wi, cdum, idum, eigenvec, desca, &

idum, idum, rwork, dum, rwork, dum, work, lwork, info)

in which case I obtain "Intel MKL ERROR: Parameter 15 was incorrect on entry to PCGEEVX."

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

it might be the issue. What version of mkl did you try?

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

mkl 2020, update 1 (last month release). only this one has the p?geevx available in the scalapack part.

thanks

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

just to keep the time - could you give us the simplest example which we could compile and run?

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

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

thanks, we will play with the example

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

We reproduced the problem. The issue is escalated. The thread will be updated asap.

thanks

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

Hello, are there any progress on this subject? thanks.

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

yes, the fix of the issue is planning to release the next update of mkl.

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

Francesco, could you check the MKL v.2020 update 2 which available for download and keep us informed with the status.

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

Hello,

I have checked update 2, but the problem still seems to be there. I have still doubts about the call pgeevx for the error message says "Intel MKL ERROR: Parameter 15 was incorrect on entry to PCGEEVX." as if I make a mistake in the arguments. But I do not understand where (if it is).

thanks, f.

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

ok, we will re-checked the case once again and get back to this thread soon.

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

The original test contains the error in input parameters. Namely, using nblk to 2 is not correct. According to the documentation (https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-c/top/scalapack-routines/scalapack-driver-routines/p-geevx.html) the minimal value of nblk is 6 (see the section "Current Notes and Restrictions"):

The current implementation of p?lahqr requires the distributed block size to be square and at least six (6); unlike simpler codes like LU, this algorithm is extremely sensitive to block size."

The modified example min_test_modv1.F90 ( attached) shows no errors.

Here is the output:

mpiexec -n 1 ./a.out

|- BLACS and DESC initialized

|- Block cyclic mat with dim (and proc) 12 12 0

|- Reference matrix diagonalized sequentially, using lapack

Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications

liwork 184 384

info 0 0

info 0 0

|- diagonalised using SCALAPACK ...

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

the modified test is attached

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

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.

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