Skip to content
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

Merged
merged 8 commits into from
Oct 10, 2024

Conversation

aniketsen
Copy link
Contributor

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.

@aniketsen aniketsen requested a review from a team as a code owner July 9, 2024 22:54
@maddyscientist
Copy link
Member

@Jenkins ok to test

Copy link
Member

@maddyscientist maddyscientist left a 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?

include/gauge_tools.h Outdated Show resolved Hide resolved
lib/interface_quda.cpp Outdated Show resolved Hide resolved
lib/interface_quda.cpp Outdated Show resolved Hide resolved
@aniketsen
Copy link
Contributor Author

@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
Copy link
Member

@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
Copy link
Member

cscs-ci run

@maddyscientist maddyscientist merged commit a2912d4 into lattice:develop Oct 10, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants