-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interface for Yang-Mills gradient flow #1480
Interface for Yang-Mills gradient flow #1480
Conversation
@Jenkins ok to test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this contribution @aniketsen, an excellent addition to QUDA. I've left a few review comments, and a few things need fixed, but all should be easy to do.
Can you also apply clang-format to the diff please, as described here?
Do you have any thoughts on how we can correctness tests for this (as well as the regular Wilson Flow function) in QUDA? Short of fully implementing Wilson flow in a separate test code, is there anything that makes sense for testing?
@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. |
@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. |
cscs-ci run |
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, movedWFlowStepType
toenum_quda
to make it globally accessible.