icl-utk-edu / slate

SLATE is a distributed, GPU-accelerated, dense linear algebra library targetting current and upcoming high-performance computing (HPC) systems. It is developed as part of the U.S. Department of Energy Exascale Computing Project (ECP).
https://icl.utk.edu/slate/
BSD 3-Clause "New" or "Revised" License
91 stars 21 forks source link

steqr #189

Closed mgates3 closed 3 months ago

mgates3 commented 4 months ago

steqr: Symmetric Tridiagonal Eigenvalues & vectors using the implicit QR iteration algorithm.

Replaces ScaLAPACK's Fortran [sdcz]steqr2.f with a templated C++ version, steqr_impl.cc. There's a high-level SLATE wrapper around it in steqr.cc. Being templated, this adds the lookahead that was in the [cz]steqr2 to the real versions, which noticeably improves performance, although D&C is still much faster.

Also renamed from steqr2 to steqr. The only reason ScaLAPACK used steqr2 was to avoid the name collision with LAPACK. SLATE inherently doesn't have a name collision.