lattice / quda

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

Interface for Yang-Mills gradient flow #1480

Closed aniketsen closed 2 weeks ago

aniketsen commented 3 months ago

Implemented an interface for Yang-Mills gradient flow (arXiv:1302.5246, Appendix D). Uses existing kernels for Wilson flow and Laplace operator. Added a function GFlowStep to perform individual sub-steps of the Wilson flow. For this purpose, moved WFlowStepType to enum_quda to make it globally accessible.

maddyscientist commented 3 months ago

@Jenkins ok to test

aniketsen commented 2 months ago

@maddyscientist sorry for taking so long to get back. I have made the changes that you suggested.

For testing, we have a native cpu implementation which both the interfaces for Wilson flow and Gradient flow have been tested against. For a correctness test for Wilson flow, I don't see any other way than implementing the individual steps. For the Gradient flow, if the Wilson flow steps and ApplyLaplace are tested, the rest is just algebra, which I suppose is also separately tested.

cpviolator commented 2 months ago

@maddyscientist @aniketsen That reminds me to implement some CPU code for (at least) the 3-staple action Stout and APE routines. I can get to that relatively soon if I find time away from my day job. Please leave it with me and I'll either make a separate PR or attach to this if it's not merged before I'm done.

maddyscientist commented 3 weeks ago

cscs-ci run