lattice / quda

QUDA is a library for performing calculations in lattice QCD on GPUs.
https://lattice.github.io/quda
Other
289 stars 97 forks source link

Block TRLM tweaks #1357

Closed cpviolator closed 1 year ago

cpviolator commented 1 year ago

This PR adds a new parameter eig_max_ortho_attempts to the eigensolver orthonormalisation routines. The solver will now error out if it exceeds this number of attempts (default 10).

It also changes the criteria for convergence on the block solver by summing all elements of the block beta array at the restart step, preventing the solver from falsely reporting full convergence while the largest eigenvectors are still not fully converged.

maddyscientist commented 1 year ago

I have merged in the changes from #1344 into this PR since it concerns related aspects of the block TRLM solver. Namely, the addition of an optimized Gram Schmidt block orthogonalization routine through the addition of a new interface parameter ortho_block_size.

I will aim to test this PR's features with block TRLM for coarse grid deflation acceleration.