When running regression tests with CP2K, there were some tests failing because the eigenproblem is of size $1 \times 1$, which is not supported by reduction_to_band:
[ERROR] /home/rmeli/git/DLA-Future/include/dlaf/eigensolver/reduction_to_band.h:113 : dlaf::matrix::Matrix<T, dlaf::Device::CPU> dlaf::eigensolver::internal::reduction_to_band(dlaf::comm::CommunicatorGrid, dlaf::matrix::Matrix<T, D>&, dlaf::SizeType) [with dlaf::Backend B = dlaf::Backend::MC; dlaf::Device D = dlaf::Device::CPU; T = double; dlaf::SizeType = long int]
band_size >= 2
1
Should we support $1 \times 1$ matrices?
This issue has been circumvented in CP2K by introducing a DLAF_NEIGVEC_MIN parameter (similarly to what it is done with ELPA), allowing to control from which matrix size to use DLA-Future's eigensolver. This is also useful to give the user control on when to use DLA-Future and when to fallback to ScaLAPACK based on the matrix size. Setting DLAF_NEIGVEC_MIN=2 (and using #980), all tests but one pass (this one test also fails with ScaLAPACK).
When running regression tests with CP2K, there were some tests failing because the eigenproblem is of size $1 \times 1$, which is not supported by
reduction_to_band
:Should we support $1 \times 1$ matrices?
This issue has been circumvented in CP2K by introducing a
DLAF_NEIGVEC_MIN
parameter (similarly to what it is done with ELPA), allowing to control from which matrix size to use DLA-Future's eigensolver. This is also useful to give the user control on when to use DLA-Future and when to fallback to ScaLAPACK based on the matrix size. SettingDLAF_NEIGVEC_MIN=2
(and using #980), all tests but one pass (this one test also fails with ScaLAPACK).