Highlights
- Development of specialized eigensolvers for the Bethe-Salpeter eigenproblem (BSE)
- Implementation of parallel MPI-GPU structure-preserving Lanczos methods in the SLEPc library
- Achievement of up to 10× performance improvement compared to previous approaches
- Design of a new polynomial filter method for computing eigenvalues in specific spectral intervals without matrix factorizations
- Development of a structure-preserving variant of LOBPCG tailored to BSE problems
Keywords | Energy, Manufacturing, Engineering |

Challenge
In conventional Yambo simulations, the Hamiltonian matrix generation is the most time-consuming step, while solving the eigenvalue problem is relatively fast. However, with the growing availability of large-scale HPC systems and efficient parallelization strategies, the bottleneck is shifting toward the solver, especially when dealing with large-scale Bethe-Salpeter Equations (BSE). These involve dense pseudo-Hermitian matrices where full diagonalization is often infeasible. Standard iterative solvers for non-Hermitian problems do not exploit the algebraic structure of BSE matrices, resulting in increased computational cost and memory usage. The challenge addressed in this study was to design iterative solvers that leverage the pseudo-Hermitian structure of BSE matrices, allowing faster, more memory-efficient, and accurate solutions.
Research Topic
The ISOLV-BSE project addressed the development of iterative algorithms specifically designed for pseudo-Hermitian eigenvalue problems, with a particular focus on applications involving large-scale Bethe-Salpeter Equations (BSE). These eigenproblems, which commonly arise in ab initio materials simulations, exhibit specific spectral and algebraic structures that can be exploited to improve both computational efficiency and numerical accuracy. The aim was to develop robust and memory-efficient solvers capable of computing selected eigenvalues and eigenvectors while preserving the structure of the BSE matrix, thereby enabling scalable performance on high-performance computing platforms.
The algorithms were implemented within the SLEPc library (version 3.22 and above), which builds on PETSc and supports both CPU and GPU execution in hybrid MPI environments. The solvers include structure-preserving variants of Lanczos methods, polynomial filtering techniques, and a tailored version of the LOBPCG algorithm adapted to the BSE structure. These methods were integrated into the Yambo code (from version 5.3), a widely used software package in materials science. Benchmarking was carried out on CPU-only clusters and on the Leonardo Booster at CINECA, using up to 128 GPUs. Both SLEPc and Yambo are distributed as open-source software under BSD and GPL licenses, respectively, ensuring broad accessibility and reusability within the scientific community.
Solution
The solution developed in ISOLV-BSE consists of three families of methods. First, a structure-preserving Lanczos method was implemented to exploit the structure of the BSE matrix, operating with the upper blocks only, allowing efficient implicit matrix operations and memory reduction. This method ensures high numerical stability through features such as reorthogonalization and restart capabilities.
Second, a polynomial filtering technique was introduced to isolate target eigenvalues by enhancing specific spectral intervals. This avoids the need for matrix factorizations and is especially useful when many eigenpairs are required.
Third, a variant of the Locally Optimal Block Preconditioned Conjugate Gradient (LOBPCG) method was developed, with all steps adapted to preserve the structure of the BSE matrix. This allows faster convergence when suitable preconditioners are available. Each method was designed to reduce memory use and computation while maintaining or improving solution accuracy.