- 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