Christoph Lehner
4705aa541d
Allow user to configure ShmDims via environment variables
2021-02-04 14:25:55 +01:00
Michael Marshall
3215d88a91
Simplify syntax with Grid::EnableIf post code review. Updated EnableIf so that ReturnType defaults to void in same way as std::enable_if see https://en.cppreference.com/w/cpp/types/enable_if
2021-02-03 15:17:03 +00:00
9b9a53f870
...
2021-02-02 13:06:43 +00:00
Christoph Lehner
019ffe17d4
Allow for GPU vector width beyond 64
2021-02-02 11:32:23 +01:00
Christopher Kelly
6cc3ad110c
Improved logging output for RHMC bounds checks
...
In GenericHMCRunner, exposed functionality for initializing gauge fields and RNG for external use
2021-01-29 12:35:00 -05:00
a673b6a54d
prettify
2021-01-28 14:15:09 +00:00
1bf2e4d187
Merge branch 'develop' into gpu/baryons
2021-01-27 21:17:37 +00:00
81d88d9f4d
fixes
2021-01-27 21:09:51 +00:00
Christopher Kelly
d10d0c4e7f
Merge branch 'develop' into feature/gparity_HMC
2021-01-25 15:13:29 -05:00
Christopher Kelly
6795bbca31
Generalized GeneralEvenOddRatioRationalPseudoFermionAction such that the multi-shift CG algorithm can be overridden by derived classes
...
Added a mixed-precision variant of GeneralEvenOddRatioRationalPseudoFermionAction and a verification test against double prec class
Fixed non-const reference used in passing RHMC approx to multishift classes
2021-01-25 14:22:31 -05:00
Michael Marshall
77063418da
Fix issue for GPU by ensuring accelerator_inline version of convertType is available for Grid::complex<T>. This removes many warnings in Hadrons
...
Simplify the SFINAE syntax and correct convertType for iScalar
2021-01-25 15:09:36 +00:00
Peter Boyle
69f1f04f74
Merge branch 'develop' of https://github.com/paboyle/Grid into develop
2021-01-21 21:39:59 -05:00
Peter Boyle
ff1fa98808
Fix for GPU conserveed current
2021-01-21 21:38:23 -05:00
Christopher Kelly
d161c2dc35
Improved formating of timing output in mixed-prec multishift
...
In test of mixed-prec multishift, added comparison against full double precision multishift both for timing and to cross-check the results
2021-01-20 15:42:06 -05:00
Christopher Kelly
7a06826cf1
Added option to NerscIO to disable exit on failing plaquette check allowing for circumvention of factor of 2 error in CPS-generated G-parity config headers
...
Adapted mixed-prec multi-shift test to new way to pass gauge BC directions and added cmdline option to perform the G-parity plaquette comparison with the corrected plaquette when loading config
2021-01-20 13:31:50 -05:00
Christopher Kelly
c3712b8e06
Merge branch 'develop' into feature/gparity_HMC
2021-01-20 11:48:52 -05:00
df16202865
weird bug in 2pt function...
2021-01-19 19:25:27 +00:00
3ff7c2c02a
Merge branch 'develop' into gpu/baryons
2021-01-19 12:34:13 +00:00
8bfa0e74f8
final version, tested on CPU and GPU
2021-01-19 12:27:57 +00:00
9b73a937e7
bugfix
2021-01-18 18:57:05 +00:00
Peter Boyle
56111bb823
Merge branch 'develop' into feature/conjugate-bc-dirs
2021-01-14 21:01:22 -05:00
Peter Boyle
99445673f6
Gparity fix, and plaquette IO
2021-01-14 21:00:36 -05:00
Peter Boyle
281ac5fc12
Red black support on coars
2021-01-14 20:48:08 -05:00
Peter Boyle
d8fa903b02
G5 on coarse spaces
2021-01-14 20:47:28 -05:00
Peter Boyle
eaff0f3aeb
Gamma5 on coaree spaces
2021-01-14 20:46:58 -05:00
Peter Boyle
e8e20c01b2
Coarsened vector test
2021-01-14 20:46:21 -05:00
fa12b9a329
bugfix
2021-01-13 10:04:17 +00:00
45fc7ded3a
test for sum
2021-01-12 09:10:37 +00:00
74de2d9742
whitespace changes
2021-01-08 18:28:36 +00:00
e759367d42
tested and working
2021-01-08 18:04:50 +00:00
Christopher Kelly
1b84f59273
Added a mixed precision multishift algorithm for which the matrix multiplies are performed in single precision but the search directions are accumulated in double precision.
...
A reliable update step is performed at a tunable frequency to correct the residual. A final mixed-prec single-shift solve is performed on each pole to perform cleanup if necessary.
A test is provided to demonstrate the algorithm.
2021-01-06 12:24:44 -05:00
Christopher Kelly
1fb41a4300
Added copyLane function to Tensor_extract_merge.h which copies one lane of data from an input tensor object to a different lane of an output tensor object of potentially different precision
...
precisionChange lattice function now uses copyLane to remove need for temporary scalar objects, reducing register footprint and significantly improving performance
2021-01-06 11:50:56 -05:00
Christopher Kelly
287bac946f
ConjugateGradientMixedPrec now stores final true residual and uses the precisionChange workspaces for improved efficiency
2021-01-06 09:50:41 -05:00
Christopher Kelly
d7a2a4852d
Reimplemented precisionChange to run on GPUs. A workspace containing the mapping table can be optionally precomputed and reused for improved performance.
2021-01-06 09:30:49 -05:00
Christopher Kelly
d185f2eaa7
OneFlavourEvenOddRatioRationalPseudoFermionAction now derives from GeneralEvenOddRatioRationalPseudoFermionAction, simply performs transcription of parameters
2020-12-23 16:26:10 -05:00
Christopher Kelly
75c6c6b173
General RHMC pseudofermion action now allows for different rational approximations to be used in the MD and action evaluation
2020-12-23 11:19:26 -05:00
Christoph Lehner
299d0de066
Merge pull request #21 from paboyle/develop
...
Sync
2020-12-22 20:59:15 +01:00
Christopher Kelly
220ad5e3ee
Added more verbose log output to GeneralEvenOddRatioRationalPseudoFermionAction
...
In GeneralEvenOddRatioRationalPseudoFermionAction, setting the bounds check frequency to 0 now disables the check
2020-12-22 11:08:22 -05:00
Christopher Kelly
ba5dc670a5
Reimplemented GparityWilsonImpl::InsertForce5D to run efficiently on GPUs
...
Swapped order of templated tensor code and c-number specializations in Tensor_outer.h to fix compile issue with type deduction on Summit
2020-12-22 10:10:07 -05:00
Nils Meyer
45d49d8648
clean up
2020-12-19 03:35:18 +01:00
Nils Meyer
6013183361
removed Asm impls
2020-12-19 03:25:01 +01:00
Nils Meyer
4b882e8056
fixed lost bracket
2020-12-19 03:09:20 +01:00
Nils Meyer
3f9ae6e7e7
Merge branch 'develop' into feature/a64fx-3
2020-12-19 02:37:11 +01:00
Nils Meyer
909acd55cd
vnum variant for prefetches
2020-12-19 02:00:22 +01:00
Nils Meyer
4dd9e39e0d
up to +36% performance gain for dslash/dwf on QPACE 4 using GCC 10.1.1
2020-12-19 00:54:31 +01:00
Christopher Kelly
a0ca362690
Added an RHMC pseudofermion action, GeneralEvenOddRatioRationalPseudoFermionAction, that works for an arbitrary fractional power, not just a square root
...
Added a test evolution for the above, Test_rhmc_EOWilsonRatioPowQuarter, demonstrating conservation of Hamiltonian
Fixed HMC ignoring the MetropolisTest parameter of HMCparameters
2020-12-17 16:21:58 -05:00
Christopher Kelly
249b6e61ec
For G-parity BCs the Nd-1 direction is now assumed to be the time direction and setting a twist in this direction will apply antiperiodic BCs
...
Added option to run Test_gparity with antiperiodic time BCs
2020-12-17 14:09:00 -05:00
f36d6f3923
compiles on GPU. 3pt still wrong!!!!
2020-12-17 17:04:08 +00:00
Michael Marshall
873519e960
Enable existing conserved current code for CUDA (compiles OK for CUDA 10.1). Add option to Test_cayley_mres to load a configuration
2020-12-14 16:06:10 +00:00
Peter Boyle
9aec4a3c26
SYCL
2020-12-10 02:11:17 -08:00