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

NERSC and ILDG for non-SU(3) configuration checkpoints #377

Merged
merged 1 commit into from
May 3, 2022

Conversation

RJHudspith
Copy link
Contributor

Fixes this issue : #376 so that the NERSC header is more Nc-aware. Checked the NERSC_GAUGE and NERSC_GAUGE_2x2 against my implementation in GLU for SU(2) (and checked that I didn't break the SU(3) config writer/reader), where NERSC_GAUGE is understood to be logically just the first row for SU(2).

I changed the normalisation for the trace (function LinkTrace) in:
./Grid/qcd/utils/WilsonLoops.h
from 3 to Nc. This matches the convention used in other parts of the code, such as the average plaquette.

While compiling the tests for Nc=2 a couple of files will not compile:
./tests/core/Test_lie_generators.cc
./tests/core/Test_reunitarise.cc
as they have specific calls to SU3:: for gauge-field stuff and then call peeks and pokes that are Nc-aware so these obviously break. Lazily, I just guard these with an #ifdef Nc==3 block. A similar problem, that I resolved better was with the #if #else block in
./tests/solver/Test_coarse_even_odd.cc

As I compiled without the lime library I found out that several other tests simply fail to compile, so I #ifdef'd them out or switched them to natively-supported options, these were:
./tests/lanczos/Test_compressed_lanczos.cc
./tests/lanczos/Test_dwf_compressed_lanczos_reorg.cc
./tests/solver/Test_dwf_mrhs_cg.cc
./tests/hmc/Test_hmc_ScalarActionNxN.cc
./tests/hmc/Test_hmc_WG_Production.cc

I added a 5 into the configure.ac for the helper argument as the code says this is suported.

I deleted Version.h and Config.h from the HFILES ./Grid/Makefile.am as Config.h is included elsewhere and included like this break the compilation for generic, non-simd builds and I am not entirely sure what the purpose of Version.h really is here. This issue has been discussed in #227 and #289

…Trace normalisation changed in places removing explicit threes. Guards against non-su3 tests and tests failing when LIME is not compiled.
@paboyle
Copy link
Owner

paboyle commented May 3, 2022

Thanks Jamie, apologies for taking so long to look through this.

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.

None yet

2 participants