paboyle
077aa728b9
Fix the ZMobius (I think)
2017-03-30 13:42:09 +09:00
paboyle
a8d83d886e
Macro controls
2017-03-30 13:31:34 +09:00
paboyle
7fd46eeec4
Trailing whitespace removal
2017-03-30 13:31:10 +09:00
paboyle
2b115929dc
Small AVX512 asm ifdef patch
2017-03-29 18:51:23 +09:00
paboyle
d805867e02
Better init
2017-03-28 13:25:05 -04:00
paboyle
98f9318279
Build on AVX2 and MPI passing with clang++
2017-03-28 23:16:04 +09:00
paboyle
4b17e8eba8
Merge branch 'develop' into feature/bgq-asm
...
Conflicts:
lib/qcd/action/fermion/Fermion.h
lib/qcd/action/fermion/WilsonFermion.cc
lib/util/Init.cc
tests/Test_cayley_even_odd_vec.cc
2017-03-28 04:49:30 -04:00
paboyle
18bde08d1b
Merge branch 'feature/staggering' into develop
2017-03-28 15:25:55 +09:00
paboyle
e7c36771ed
ZMobius prep for asm
2017-03-15 14:23:33 -04:00
paboyle
8dc57a1e25
Layout change
2017-03-13 11:11:46 +00:00
paboyle
f57bd770b0
Merge branch 'bugfix/dminus' into feature/bgq-asm
2017-03-13 11:11:03 +00:00
Chulwoo Jung
33edde245d
Changing Dminus(Dag) to use full vectors to work correctly
2017-03-12 23:02:42 -04:00
paboyle
447c5e6cd7
Z mobius hermiticity correction
2017-03-13 01:30:43 +00:00
paboyle
8b99d80d8c
Merge branch 'bgq-asm-shmemfixes' into feature/bgq-asm
2017-03-12 23:30:09 +00:00
paboyle
af230a1fb8
Average the time across the whole machine for outliers
2017-02-28 17:05:22 -05:00
Christopher Kelly
06a132e3f9
Fixes to SHMEM comms
2017-02-28 13:31:54 -08:00
paboyle
e099dcdae7
Merge branch 'develop' into feature/bgq-asm
2017-02-23 00:25:29 +00:00
paboyle
4e7ab3166f
Refactoring header layout
2017-02-22 18:09:33 +00:00
azusayamaguchi
1c30e9a961
Verified
2017-02-21 23:01:25 +00:00
azusayamaguchi
bf7e3f20d4
Staggaered fermion optimised version
2017-02-21 14:35:42 +00:00
paboyle
3ae92fa2e6
Global changes to parallel_for structure.
...
Move the comms flags to more sensible names
2017-02-21 05:24:27 -05:00
Guido Cossu
e0571c872b
Merge branch 'develop' into feature/hmc_generalise
2017-02-09 16:12:00 +00:00
paboyle
2c246551d0
Overlap comms and compute options in wilson kernels
2017-02-07 01:37:10 -05:00
a0cfbb6e88
Merge branch 'feature/gammas' into feature/hadrons
...
# Conflicts:
# .gitignore
# lib/qcd/spin/Dirac.cc
# scripts/filelist
2017-01-30 09:10:49 -08:00
fad743fbb1
Build system sanity check: corrected several headers not in the <Grid/*> format
2017-01-26 17:00:41 -08:00
Guido Cossu
17629b8d9e
Merge branch 'develop' into feature/hmc_generalise
2017-01-25 11:33:53 +00:00
a37e71f362
New automatic implementation of gamma matrices, Meson and SeqGamma are broken
2017-01-23 19:13:43 -08:00
Guido Cossu
27dfe816fa
Added TwoFlavorsEO
...
Had to remove a conformability check in the Derivative of SchurDiff,
see the comments in the file
2017-01-20 16:59:31 +00:00
Peter Boyle
03c81bd902
Merge branch 'feature/bgq-asm' of https://github.com/paboyle/Grid into feature/bgq-asm
2016-12-27 11:25:35 +00:00
Peter Boyle
a869addef1
Stats switch off
2016-12-27 11:25:22 +00:00
Peter Boyle
3d21297bbb
Call the fast path compressor for wilson kernels to avoid if else on projector
2016-12-27 11:23:13 +00:00
Peter Boyle
25efefc5b4
Back to original thread policy post test
2016-12-23 09:49:04 +00:00
Peter Boyle
eabf316ed9
BGQ performance ASM
2016-12-22 21:56:08 +00:00
Peter Boyle
04ae7929a3
BGQ or KNL assembler now
2016-12-22 17:53:22 +00:00
Peter Boyle
caba0d42a5
L1p controls
2016-12-22 17:52:55 +00:00
Peter Boyle
9ae81c06d2
L1p controls for BG/Q
2016-12-22 17:52:21 +00:00
Peter Boyle
b8cdb3e90a
Debug hack; raises from 62GF/s to 72 GF/s per node on BG/Q
2016-12-22 17:50:14 +00:00
paboyle
3e6945cd65
Fixing AVX Z-mobius
2016-12-18 02:05:11 +00:00
paboyle
87be03006a
AVX 512 code broke other compiles; fixing
2016-12-18 01:45:09 +00:00
Peter Boyle
4d8b01b7ed
Merge branch 'develop' of https://github.com/paboyle/Grid into develop
2016-12-18 00:56:57 +00:00
Peter Boyle
fa6acccf55
Zmobius asm
2016-12-18 00:56:19 +00:00
azusayamaguchi
df9108154d
Debugged 2 versions of assembler; ls vectorised, xyzt vectorised
2016-12-17 23:47:51 +00:00
azusayamaguchi
b3e7f600da
Partial implementation of 4d vectorisation assembler
2016-12-16 23:50:30 +00:00
azusayamaguchi
d4071daf2a
Template specialise
2016-12-16 22:28:29 +00:00
azusayamaguchi
a2a6329094
AVX512 only for ASM compilation
2016-12-16 22:03:29 +00:00
azusayamaguchi
eabc577940
Assembler possibly working
2016-12-16 16:55:36 +00:00
91e98b1dd5
Merge branch 'feature/hadrons' into develop
2016-12-15 18:15:56 +00:00
Guido Cossu
2fb92dbc6e
Cleaning up previous debug lines
2016-12-13 07:53:43 +00:00
Guido Cossu
5c74b6028b
Commit for debugging, lot of IO
2016-12-13 06:35:30 +00:00
Azusa Yamaguchi
426197e446
Nc=3
2016-12-12 09:10:54 +00:00
Azusa Yamaguchi
99e2c1e666
Kernels options
2016-12-12 09:08:53 +00:00
Azusa Yamaguchi
1440565a10
Decrease verbosity
2016-12-12 09:08:04 +00:00
Peter Boyle
fe187e9ed3
Compiles and passes under ZMobius with assembler
2016-12-10 00:47:48 +00:00
Peter Boyle
0091b50f49
Zmobius working -- not asm yet
2016-12-09 22:51:32 +00:00
Peter Boyle
fb8d4b2357
Lots of debug on performance Mobius
2016-12-08 17:28:28 +00:00
Guido Cossu
2bd4233919
Completed testing of the HMC for Ls vectorised version (on AVX2)
2016-12-07 04:56:37 +00:00
Guido Cossu
143c70e29f
Debugged the threaded version. Cleaning up
2016-12-07 04:40:25 +00:00
Guido Cossu
b812d5e39c
Added single threaded version of the derivative for the Ls vectorised DWF
2016-12-06 16:31:13 +00:00
Peter Boyle
e27c6b217c
Updating
2016-12-01 12:42:53 +00:00
paboyle
6adf35da54
Faster Mobius
2016-12-01 11:39:04 +00:00
paboyle
bd0430b34f
Serialisation in malloc fixed
2016-11-29 22:27:55 +00:00
Azusa Yamaguchi
c097fd041a
Merge branch 'develop' of https://github.com/paboyle/Grid into feature/staggering
2016-11-29 13:44:17 +00:00
Azusa Yamaguchi
77fb25fb29
Push 5d tests
2016-11-29 13:43:56 +00:00
Azusa Yamaguchi
389e0a77bd
Staggerd Fermion 5D
2016-11-29 13:13:56 +00:00
Guido Cossu
ae9688e343
Reporting also the total mflops
2016-11-28 11:37:02 +00:00
fabcd4179d
Hadrons: propagator type coming from the fermion implementation
2016-11-28 14:02:10 +09:00
Azusa Yamaguchi
668ca57702
Merge branch 'develop' of https://github.com/paboyle/Grid into feature/staggering
2016-11-22 13:49:11 +00:00
azusayamaguchi
f7b60004f3
Merge branch 'develop' into release/v0.6.0
2016-11-04 16:08:07 +00:00
azusayamaguchi
b7d55f7dfb
Fix a typo in reorg of the --dslash-asm
2016-11-04 11:35:08 +00:00
Azusa Yamaguchi
ee686a7d85
Compiles now
2016-11-03 16:58:23 +00:00
Azusa Yamaguchi
1c5b7a6be5
Staggered phases first cut, c1, c2, u0
2016-11-03 16:26:56 +00:00
75bbf6a0af
Merge branch 'develop' into feature/feynman-rules
2016-11-03 13:52:11 +00:00
paboyle
c067051d5f
Merge branch 'develop' into release/v0.6.0
2016-11-02 13:59:18 +00:00
Guido Cossu
ae8561892e
Eliminating useless defines
2016-11-02 10:21:06 +00:00
paboyle
bb94ddd0eb
Tidy up of mpi3; also some cleaning of the dslash controls.
2016-11-02 08:07:09 +00:00
Azusa Yamaguchi
164d3691db
Staggered
2016-11-01 14:24:22 +00:00
Guido Cossu
e8c3174ae2
Small change in the defines
2016-10-30 12:23:11 +00:00
Guido Cossu
9b066e94d0
Compilation with both single and double precision
2016-10-30 12:04:06 +00:00
Guido Cossu
e1042aef77
First version of the doube prec for testing purposes
...
It does not compile single and double version at the same time
2016-10-28 17:20:04 +01:00
ca21003f01
Merge branch 'feature/fft-opt' into feature/feynman-rules
...
# Conflicts:
# lib/FFT.h
# lib/qcd/action/fermion/WilsonFermion5D.h
# tests/core/Test_fft.cc
2016-10-26 18:44:47 +01:00
azusayamaguchi
c190221fd3
Internal SHM comms in non-simd directions working
...
Need to fix simd directions
2016-10-22 18:14:27 +01:00
azusayamaguchi
6a9eae6b6b
Reporting improvements
2016-10-21 13:36:18 +01:00
bd6a228af6
Merge commit '20a091c3eddfdb67a82ece6413740a93650a2f98' into feature/feynman-rules
2016-10-21 13:10:30 +01:00
paboyle
b58adc6a4b
commVector
2016-10-20 17:00:15 +01:00
997fd882ff
Merge branch 'develop' into feature/feynman-rules
...
# Conflicts:
# lib/Threads.h
# lib/qcd/action/fermion/WilsonFermion.cc
# lib/qcd/action/fermion/WilsonFermion.h
# lib/qcd/utils/SUn.h
# lib/simd/Grid_avx.h
# lib/simd/Intel512common.h
2016-10-19 18:35:18 +01:00
azusayamaguchi
81f2aeaece
KNL streaming stores, and KNL performance coutners
2016-10-12 11:45:22 +01:00
paboyle
3619167d62
Mass parameter
2016-10-10 23:47:33 +01:00
paboyle
96f1d1b828
Debugged Domain wall and Overlap feynman rules (infinite Ls, finite mass).
2016-10-10 23:46:45 +01:00
paboyle
657e0a8f4d
Mass parameter
2016-10-10 23:46:10 +01:00
paboyle
616e7cd83e
Mass parameter
2016-10-10 23:45:48 +01:00
paboyle
6f26d2e8d4
Overlap tree level feynman rule
2016-10-10 23:45:18 +01:00
paboyle
c014574504
A "please implement me" feynman rule. If this were abstract virtual it would
...
require/force implementation
2016-10-10 23:44:00 +01:00
paboyle
d7ce164e6e
Feynman rule for DWF
2016-10-10 23:43:36 +01:00
paboyle
c0d5b99016
Dminus
2016-10-10 23:43:19 +01:00
paboyle
09ca32d678
Dminus added for Cayley
2016-10-10 23:42:55 +01:00
Guido Cossu
b56c9ffa52
Fix for AVXFMA
2016-10-10 14:43:37 +01:00
Guido Cossu
2e453dfbf5
Added some instrumentation to benchmark the force computation
2016-10-06 17:52:45 +01:00
paboyle
4089984431
Timing hooks
2016-10-06 09:25:12 +01:00
Guido Cossu
c78bbd0f8c
Fix ASM compilation
2016-10-04 15:37:32 +01:00
paboyle
b6713ecb60
Momentum space rules for Overlap, DWF untested to date
2016-09-26 09:39:09 +01:00
Guido Cossu
b6597b74e7
Added support for the Two index Symmetric and Antisymmetric representations
...
Tested for HMC convergence: OK
Added also a test file showing an example for mixed representations
2016-09-22 14:17:37 +01:00
Guido Cossu
b9c80318a2
Merge branch 'develop' into feature/hirep
2016-09-13 10:01:51 +01:00
Guido Cossu
f76f281e58
Cleaning files after fix
2016-09-09 11:34:25 +01:00
Guido Cossu
aa20cc8b52
Fixing compilation error with AVX512 flag
2016-09-09 02:58:52 -07:00
Guido Cossu
0fd179fb33
Merge branch 'develop' into feature/hirep
2016-09-01 12:59:53 +01:00
paboyle
b573d1f35a
Wilson tree level added
2016-08-31 00:27:04 +01:00
paboyle
0c1d7e4daf
Mom space prop for Wilson action
2016-08-31 00:26:36 +01:00
paboyle
02e983a0cd
Momentum space prop and free prop convolution
2016-08-31 00:26:02 +01:00
Guido Cossu
fd5614738d
Merge branch 'develop' into feature/hirep
2016-08-30 18:21:36 +01:00
paboyle
4ab7dbfd57
Instantiate
2016-08-15 23:00:40 +01:00
paboyle
90e70790f3
Feature for z-Mobius prep
2016-08-15 22:31:29 +01:00
Guido Cossu
089f0ab582
Debugged HMC for Creutz relation
2016-07-28 16:44:41 +01:00
Guido Cossu
b93e18ed50
Modified the Dirac Kernel class to compile with different number of colours
...
Added the general push_back functionality to accomodate for all defined representations
Compiles, not tested
2016-07-18 16:36:28 +01:00
Guido Cossu
9c77bb69a5
Added all elements for Hirep HMC
...
TODO: Test and debug
2016-07-18 12:05:23 +01:00
paboyle
fad5c675eb
sign error on the 4d gparity force
2016-07-16 01:51:56 +01:00
paboyle
f4dd5062d7
Merge branch 'develop' of https://github.com/paboyle/Grid into develop
2016-07-15 19:26:06 +01:00
paboyle
980ff18956
Solving the instantiation no compile issue
2016-07-15 17:19:44 +01:00
paboyle
1a6c7204ac
Disable instantiation; Use cache version instead
2016-07-15 00:34:39 +01:00
paboyle
dfd714e1ef
Multiple implementations for the 5d hopping terms, depending on cache friendly
...
ops and/or the 5th direction being vectorised
All use 4d redblack.
2016-07-15 00:00:09 +01:00
paboyle
79a8ca1a62
Rewrite for performance. Impl dependent instantiations give
...
4d linalg impls of the 5d hopping terms (and inverse)
Cache friendly loop orderings of the above
Dense matrix stored and apply to the above
-- Switch to Ls vectorised, and use dense matrix approach for the MooeeInv
and rotate/shift of the Mooee M5D routines.
2016-07-14 23:58:15 +01:00
paboyle
a307274c96
Fermion impl rename for ls vectorised 5d approaches
2016-07-14 23:56:13 +01:00
paboyle
3f2c44a5fe
Updating the class to 5d selection based on impl type
2016-07-14 23:55:26 +01:00
paboyle
48fb1cdc11
Update domain 5d vectorised impl type, move the type over to 4d redblack with
...
the dense OO inverse
2016-07-14 23:54:35 +01:00
paboyle
8a79e93cc2
Rename the 5d domain wall fermion vectorised Ls impl class
2016-07-14 23:53:00 +01:00
paboyle
adbc7c1188
Adding files for multiple implementations (cache opt) and Ls vectorisation
...
of the 5D cayley form chiral fermions for the 5d matrix. With Ls entirely
in the vector direction, s-hopping terms involve rotations.
The serial dependence of the LDU inversion for Mobius and 4d even odd
checkerboarding is removed by simply applying Ls^2 operations (vectorised
many ways) as a dense matrix operation.
This should give similar throughput but high flops (non-compulsory flops)
but enable use of the KNL cache friendly kernels throughout the code.
Ls is still constrained to be a multiple of Nsimd, which is as much as 8 for AVX512
with single precision.
2016-07-14 22:59:21 +01:00
Guido Cossu
a9ae30f868
Added representations definitions for the HMC
2016-07-12 13:36:10 +01:00
paboyle
ef97e32152
Adding persistent communicators
2016-07-08 17:16:08 +01:00
paboyle
a0676beeb1
Open up dependency on Eigen and FFTW
2016-07-07 22:31:07 +01:00
Guido Cossu
fbf96b1bbb
]Merge branch 'develop' into feature/hirep
2016-07-07 14:20:10 +01:00
Guido Cossu
ffedeb1c58
Minor modifications
2016-07-06 11:41:27 +01:00
Guido Cossu
fdfbf11c6d
Merge branch 'develop' into temporary-smearing
2016-07-04 18:45:10 +01:00
Guido Cossu
9cb90f714e
Merge remote-tracking branch 'origin/develop' into temporary-smearing
2016-07-04 17:28:40 +01:00
paboyle
680645f849
Merge branch 'release/v0.5.0'
2016-06-30 15:15:03 -07:00
paboyle
712b9a3489
Asm only for avx512
2016-06-30 14:35:02 -07:00
paboyle
bdaa5b1767
Updated to have perfect prefetching for the s-vectorised kernel with any cache blocking.
2016-06-30 14:35:02 -07:00
paboyle
8fcefc021a
Improved the prefetching when using cache blocking codes
2016-06-30 14:35:02 -07:00
paboyle
05c884a62a
Prefetch change
2016-06-30 14:35:01 -07:00
paboyle
2d8bb4c594
Tweaks
2016-06-30 14:35:01 -07:00
paboyle
6d58cb2a68
Enable reordering of the loops in the assembler for cache friendly.
...
This gets in the way of L2 prefetching however. Do next next link in stencil
prefetching.
2016-06-30 14:35:01 -07:00
Guido Cossu
565e9329ba
Changed the colouring classes
2016-06-30 16:51:03 +01:00
Guido Cossu
5e02392f9c
Fixed compilation error for benchmark_dwf
...
Some parts were assuming floating point precision
2016-06-20 12:30:51 +01:00
paboyle
87418e7df1
Slightly faster prefetching perf.
2016-06-13 02:32:52 -07:00
paboyle
55f65b81b5
Improvements to the assembler interface that let us move chunks of the
...
site and s loop into the kernels. This will save on function call overhead and
guarantee L2 prefetching strategy is right since OMP can't distribute the
sub-chunks of work.
2016-06-09 01:12:36 -07:00
Azusa Yamaguchi
d9408893b3
Prefetching in the normal kernel implementation.
2016-06-08 05:43:48 -07:00
paboyle
8ac021de73
Added a test an fixed it for red black precon Ls innermost vectorised DWF
2016-06-07 13:16:56 -07:00
paboyle
e503ef5590
Cleaned up
2016-06-07 00:11:36 +01:00
paboyle
a7682b0060
Only instantiate the one routine to avoid duplicate symbol under g++5/MacOS
2016-06-06 23:48:21 +01:00
paboyle
53d06046b0
Compiling updates for KNL
2016-06-03 03:47:54 -07:00
paboyle
139cc5f1ae
Large change with KNL preparation
2016-06-03 03:24:26 -07:00
paboyle
5341977948
IMCI fixes. Thought I had committed these. The "real" disambiguation
...
between std::real and Grid::real shouldn't have been necessary and I don't
know why only the icpc v16.0 on babbage hits it.
May need a longer term rename of Grid::real or some careful EnableIf work.
2016-04-30 03:34:16 -07:00