Skip to content

Eigen Decomposition: ScaLAPACK Error -25 (CTF ERROR: pysevx returned error code -25) #164

@Florian-Gruener

Description

@Florian-Gruener

ScaLAPACK Vendor: Intel MKL
MKL Version: 2025.1.0

Problem description

When performing Eigen decomposition on Matrizes bezond a cetrain size (starting at 137x137 on my system), the following error Message is written to stdout and no computation performed:
CTF ERROR: pysevx returned error code -25

Problem analysis

In function: void peigh(...)
In file: src/shared/lapack_symbs.cxx
starting on line: 891

  • Two calls are made to CTF_SCALAPACK::pheevx<dtype>(...) (the first is used to acquire the necessary buffer sizes, the second performs the actual computation)
  • ScaLAPACK Docs: Error/ info return code -25 indicates that parameter LRWORK (in ctf code called lwork) is too small
  • printing the values of lwork and lcwork after line 920 showed:
    • the error occurs if lcwork < lwork
  • manually increasing sizes of lwork and lcwork in ctf code showed:
    • the size of lwork is sufficient
    • inserting lcwork = lcwork < lwork ? lwork : lcwork; in src/shared/lapack_symbs.cxx between lines 920 and 921 fixes the issue (this implies that lcwork seems to be required to have at least as many elements as lwork, even if ScaLAPACK doesnt ask for it)

Can someone reproduce this Error?

Files (remove .txt ending, GitHub wont let me upload cpp/cxx files):

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions