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

A new gauge fixing algorithm which returns the rotation field. #1481

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

SaltyChiang
Copy link
Contributor

I implemented a new over-relaxation gauge-fixing algorithm. The major difference between the new and the old implementations is we can obtain the rotation field now. Our workflow often requires this.

The rotation field $g(x)$ is defined as follows:
$$
U^\prime_\mu(x)=g(x)U_\mu(x)g^\dag(x+\hat{\mu})
$$

There are also some utility functions such as gaugeRotation and gaugeFixQuality which can be exposed in quda.h, I'll add them later.

@SaltyChiang SaltyChiang requested review from a team as code owners July 23, 2024 12:25
@SaltyChiang
Copy link
Contributor Author

SaltyChiang commented Jul 23, 2024

I'm wondering if I should just override the old interface computeGaugeFixingOVRQuda or add a new interface function. Please let me know if you have any considerations.

I tested the performance and didn't see any significant performance regression compared to the old implementation. But more testing is definitely needed.

@maddyscientist
Copy link
Member

@Jenkins test this please

@maddyscientist
Copy link
Member

Thanks for this PR @SaltyChiang. I don't think there should be any performance change, so I think we could just replace the old interface with the new one.

Can you go ahead and make this change to your PR? I think you'll need to update the MILC interface code (milc_interface.cpp) since that code calls the older interface, but that should be an easy change.

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.

2 participants