I tried your example with both real and complex arithmetic, with version 3.20. 
I did not finish the computation, but I can confirm that the EPSSetUp() phase 
completes without errors.

There is a fix that was made in PETSc around version 3.17, it may affect you if 
you don't have it:
https://gitlab.com/petsc/petsc/-/merge_requests/5441

I would suggest upgrading to the latest version.

Jose

 

> El 19 ene 2024, a las 10:35, Peder Jørgensgaard Olesen <[email protected]> 
> escribió:
> 
> The attached code reproduces the error on my system.
> 
> Best,
> PederFra: Peder Jørgensgaard Olesen <[email protected]>
> Sendt: 18. januar 2024 21:06
> Til: Jose E. Roman <[email protected]>
> Cc: [email protected] <[email protected]>
> Emne: Sv: [petsc-users] ScaLAPACK EPS error
>  I set up the matrix using MatCreateDense(), passing PETSC_DECIDE for the 
> local dimensions.
> 
> The same error appears with 8, 12, and 16 nodes (32 proc/node).
> 
> I'll have to get back to you regarding a minimal example.
> 
> Best,
> PederFra: Jose E. Roman <[email protected]>
> Sendt: 18. januar 2024 19:28
> Til: Peder Jørgensgaard Olesen <[email protected]>
> Cc: [email protected] <[email protected]>
> Emne: Re: [petsc-users] ScaLAPACK EPS error
>  How are you setting up your input matrix? Are you giving the local sizes or 
> setting them to PETSC_DECIDE?
> Do you get the same error for different number of MPI processes?
> Can you send a small code reproducing the error?
> 
> Jose
> 
> 
> > El 18 ene 2024, a las 18:59, Peder Jørgensgaard Olesen via petsc-users 
> > <[email protected]> escribió:
> > 
> > Hello,
> > 
> > I need to determine the full set of eigenpairs to a rather large (N=16,000) 
> > dense Hermitian matrix. I've managed to do this using SLEPc's standard 
> > Krylov-Schur EPS, but I think it could be done more efficiently using 
> > ScaLAPACK. I receive the following error when attempting this. As I 
> > understand it, descinit is used to initialize an array, and the variable in 
> > question designates the leading dimension of the array, for which it seems 
> > an illegal value is somehow passed.
> > 
> > I know ScaLAPACK is an external package, but it seems as if the error would 
> > be in the call from SLEPc. Any ideas as to what could cause this?
> > 
> > Thanks,
> > Peder
> > 
> > Error message (excerpt):
> > 
> > PETSC ERROR: #1 MatConvert_Dense_ScaLAPACK() at [...]/matscalapack.c:1032
> > PETSC ERROR: #2 MatConvert at [...]/matrix.c:4250
> > PETSC ERROR: #3 EPSSetUp_ScaLAPACK() at [...]/scalapack.c:47
> > PETSC ERROR: #4 EPSSetUp() at [...]/epssetup.c:323
> > PETSC ERROR: #5 EPSSolve at [...]/epssolve.c:134
> > PETSC ERROR: ------ Error message ------
> > PETSC ERROR: Error in external library
> > PETSC ERROR: Error in ScaLAPACK subroutine descinit: info=-9
> > (...)
> > 
> > Log file (excerpt):
> > {  357,    0}:  On entry to DESCINIT parameter number   9 had an illegal 
> > value
> > [and a few hundred lines similar to this]
> 
> 
> <mre.c>

Reply via email to