[petsc-users] ScaLAPACK EPS error

Jose E. Roman jroman at dsic.upv.es
Fri Jan 19 05:37:18 CST 2024


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 <pjool at dtu.dk> escribió:
> 
> The attached code reproduces the error on my system.
> 
> Best,
> PederFra: Peder Jørgensgaard Olesen <pjool at dtu.dk>
> Sendt: 18. januar 2024 21:06
> Til: Jose E. Roman <jroman at dsic.upv.es>
> Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
> 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 <jroman at dsic.upv.es>
> Sendt: 18. januar 2024 19:28
> Til: Peder Jørgensgaard Olesen <pjool at dtu.dk>
> Cc: petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
> 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 <petsc-users at mcs.anl.gov> 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>



More information about the petsc-users mailing list