With #953 fixed, I was able to run most of the CP2K regression tests with DLAF_NEIGVEC_MIN=2 (i.e. using DLA-Future eigensolver for all matrices of size 2x2 or above). However, some tests still fail with nans.
One such batch of failing tests is QS/regtest-md-extrap/extrap-*-far (while the QS/regtest-md-extrap/extrap-* tests all pass).
Focusing on QS/regtest-md-extrap/extrap-1-far.inp (matrix of size 46), I printed out matrices (in NumPy format) at different stages of the eigensolver (input, band matrix, tridiagonal matrix, eigenvalues, and eigenvectors). nans are present in the band matrix.
After converting the input matrix to HDF5 and using #973, I was able to get some first observations:
NumPy's eigensolver has no issue with this input matrix
nans seem to appear only when block_size is smaller than 45 (the matrix size is 46)
Using block_size >= 45 produces the same eigenvalues obtained with NumPy
Info: all eigenvalues appear to be doubly degenerate
Details
Adding some details here so they don't get lost in my notes.
With #953 fixed, I was able to run most of the CP2K regression tests with
DLAF_NEIGVEC_MIN=2
(i.e. using DLA-Future eigensolver for all matrices of size2x2
or above). However, some tests still fail withnan
s.One such batch of failing tests is
QS/regtest-md-extrap/extrap-*-far
(while theQS/regtest-md-extrap/extrap-*
tests all pass).Focusing on
QS/regtest-md-extrap/extrap-1-far.inp
(matrix of size46
), I printed out matrices (in NumPy format) at different stages of the eigensolver (input, band matrix, tridiagonal matrix, eigenvalues, and eigenvectors).nan
s are present in the band matrix.After converting the input matrix to HDF5 and using #973, I was able to get some first observations:
nan
s seem to appear only whenblock_size
is smaller than 45 (the matrix size is46
)block_size >= 45
produces the same eigenvalues obtained with NumPyDetails
Adding some details here so they don't get lost in my notes.
Changes to DLAF to print out NumPy matrices
Conversion of NumPy matrices to HDF5
Run miniapp
Needs #973.