etmc / tmLQCD

tmLQCD is a freely available software suite providing a set of tools to be used in lattice QCD simulations. This is mainly a HMC implementation (including PHMC and RHMC) for Wilson, Wilson Clover and Wilson twisted mass fermions and inverter for different versions of the Dirac operator. The code is fully parallelised and ships with optimisations for various modern architectures, such as commodity PC clusters and the Blue Gene family.
http://www.itkp.uni-bonn.de/~urbach/software.html
GNU General Public License v3.0
32 stars 47 forks source link

added interface for eigensolver on QUDA #560

Closed aniketsen closed 1 year ago

aniketsen commented 1 year ago

eigsolveQuda sets the parameter and calls the eigensolver in QUDA. initQudaforEig initializes QUDA. This currently only works for the TwoFalvourSolver, but should be easy to generalize. In eigenvalues_bi.cpp, the interface is called if TM_USE_QUDA is defined, probably not ideal and can be changed to a different flag.

Currently the interface passes NULL for the eigenvectors, since they are not necessary. On QUDA side, support is added to deal with this.

kostrzewa commented 1 year ago

@aniketsen Can you change the source of this pull-request to the quda_work_eigensolver branch of etmc/tmLQCD (which I just created based on aniketsen:quda_work_eigensolver)? That way we can all push into it for minor tweaks and changes. (I wanted to add some documentation, for example)

kostrzewa commented 1 year ago

I've now also merged with the latest quda_work there as aniketset:quda_work_eigensolver was not kept up to date with etmc:quda_work and was missing a number of commits (several of which related to the continuous integration stuff in .github)