lattice / quda

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

Implemented changes to Gaussian smearing routines to resolve issue #681 #1381

Closed agrebe closed 1 year ago

agrebe commented 1 year ago

This is a modification to lib/interface_quda.cpp to fix the two bugs described by Yi-Bo Yang in issue #681:

  1. The calls to profileWuppertal are removed, as they threw an error when the timer was started twice, once here and once in the subroutine called. (There might be a more elegant way to fix this than simply deleting the profiler calls, but I'm not familiar enough with the quda repository to do this.)
  2. The comm_override passed to ApplyLaplace is changed from nullptr to the bug fix given in Yang's comment in the issue tracker. With these changes implemented, quda compiles and runs without errors, and the smeared pion correlator on a test lattice agrees with a CPU implementation of Gaussian smearing in a different codebase (qlua).
mathiaswagner commented 1 year ago

Jenkins: Can one of the admins verify this patch?

mathiaswagner commented 1 year ago

Jenkins: Can one of the admins verify this patch?

maddyscientist commented 1 year ago

@Jenkins Ok to test

maddyscientist commented 1 year ago

Thanks for the PR @agrebe. Regarding the profiling issue: this is actually fixed in my WIP branch which overhauls the profiling somewhat and prevents issues like this from happening. Regardless, my PR will likely take a week or two until it's merged, so I'm happy to merge in your fix for now.

Before I hit merge (likely tomorrow), please feel free to add your name to the contributor list in the README.

agrebe commented 1 year ago

If it's okay, I've added both myself and Michael Wagman to the contributors list since we were pair programming when we discovered the bug and implemented the fix. (Yi-Bo Yang also deserves most of the credit, but he's already on the contributor list.)

Also, I just want to thank you @maddyscientist and all the developers for all your hard work on QUDA -- this is really great software and indispensable to our computations!

maddyscientist commented 1 year ago

All good with adding both of you. I'll merge once the CI builds complete.