1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-09-20 17:25:37 +01:00
Commit Graph

150 Commits

Author SHA1 Message Date
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
1445189361 COntrol the prefetch strategy 2016-06-30 14:35:02 -07:00
paboyle
a25bec87d9 Prefetch during save 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
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
139cc5f1ae Large change with KNL preparation 2016-06-03 03:24:26 -07:00
9d5f693cbe empty SIMD fix 2016-05-24 10:56:27 +01:00
91e04056f9 fix of the empty SIMD 2016-05-12 19:24:10 +01:00
paboyle
c23375cd65 Testing travis CI integration 2016-04-30 06:30:56 -07:00
paboyle
c79ea0dcef Fixingn IMCI 2016-04-22 21:52:54 -07:00
paboyle
e3f141f82f Fixed SSE compile with typecasts 2016-04-22 10:30:30 -07:00
paboyle
a6dfa2386b GCC choked on intrinsics calls that ICPC did not 2016-04-22 06:33:41 -07:00
paboyle
587f80cd93 Updated to compile and pass under intel SDE 2016-04-19 15:13:54 -07:00
paboyle
528eb773ad Merged.
Merge branch 'master' of https://github.com/paboyle/Grid
2016-04-19 22:24:34 +01:00
paboyle
e5657510b0 Rotate support for Ls simd-ized 2016-04-19 22:24:18 +01:00
paboyle
f473919526 Rotate support 2016-04-19 22:23:51 +01:00
Christopher Kelly
ab56ccdd25 -Complete and working implementation of Grid_empty 2016-04-15 13:17:42 -04:00
paboyle
f473ef7591 Fixing the compile 2016-03-31 07:47:42 -07:00
paboyle
8052556275 Cleaning up the single/double kernel implementation switch 2016-03-31 14:51:32 +01:00
paboyle
83b15bfcdd Better Avx512 assembly sequence for SU3 using fmaddsub to get the imag imag sign 2016-03-30 08:39:39 +01:00
paboyle
c77b7ee897 AddSub based alternate SU3 routine 2016-03-28 17:55:22 -06:00
paboyle
b6c3bc574b Moving to a more coherent organisation of the inline assembly and arch dependencies. 2016-03-28 16:24:37 +01:00
paboyle
ad80f61fba AVX512 shaken out 2016-03-28 00:38:05 -06:00
paboyle
165bffc2e7 Avx512 changes for assembler kernels 2016-03-26 22:25:45 -06:00
paboyle
644fd6d32e Build avx512 clean 2016-03-25 09:35:33 -07:00
2d8bb356e3 Smearing routines compile (still untested) 2016-02-25 02:43:59 +09:00
a7251f28c7 Stout smearing compiles (untested) 2016-02-24 03:16:50 +09:00
Antonin Portelli
497e7e4c53 BG/Q compatibility fix 2016-02-23 15:57:38 +00:00
paboyle
aae8bf31a7 Global edit adding copyright and license info to every source file. 2016-01-02 14:51:32 +00:00
Azusa Yamaguchi
24a5a81c53 SSE compile fix 2015-12-16 09:09:37 +00:00
paboyle
3ce10aa975 Fix a regression failure on Mobius; chroma regression added 2015-12-10 22:55:00 +00:00
paboyle
fa01ae5980 integer divide 2015-11-28 17:00:34 -08:00
Azusa Yamaguchi
4690acc3c8 Don't know why peter committed these as they didn't compile 2015-11-06 10:31:48 +00:00
paboyle
16c7993434 Merge branch 'master' of github.com:paboyle/Grid
Conflicts:
	lib/simd/Grid_avx512.h
	lib/simd/Grid_imci.h
2015-11-04 03:32:10 -08:00
Peter Boyle
dfc1de6f60 Merge branch 'master' of github.com:paboyle/Grid 2015-11-04 05:14:26 -06:00
paboyle
9b5d31ffc1 mac , mult routines
Lines# with '#' will be ignored, and an empty message aborts the commit.
2015-11-04 03:10:34 -08:00
paboyle
a38762159c Inline assembly hooks for AVX 512. Better way in some ways than BAGEL to generate assembly.
Updated Grid_avx512.h
2015-11-04 03:09:06 -08:00
Peter Boyle
ffc5dab17f AMD FMA4 support added for Interlagos/BlueWaters 2015-11-04 04:29:58 -06:00
Peter Boyle
814c79f38d SIMD improvements for mac and madd use in complex for avx, sse 2015-10-09 00:38:52 +02:00
paboyle
f4b6d1dfea NGO stores reenabled 2015-09-30 16:02:14 -07:00
Peter Boyle
64d64d1ab6 Updating to modify non-inlining permute routines and hopefully get better reg use and
enhance performance.
2015-09-25 08:55:04 -07:00
Peter Boyle
5ef42add2d Changes to remove warnings under icc; disambiguate AVX512 from IMCI correctly
and drop swizzles in AVX512. Don't know why these compiled.
2015-09-23 05:23:45 -07:00
neo
490009745c Small change in the HMC interface.
Example of multiple levels in the WilsonFermion hmc test.

Merge remote-tracking branch 'upstream/master'

Conflicts:
	lib/qcd/hmc/HMC.h
	lib/qcd/hmc/integrators/Integrator.h
	lib/qcd/hmc/integrators/Integrator_algorithm.h
	tests/Test_simd.cc
2015-07-30 17:16:57 +09:00
Peter Boyle
d9d4c5916a Elemental force term for Wilson dslash added and tests thereof passing.
Now need to construct pseudofermion two flavour, ratio, one flavour, ratio
action fragments.
2015-07-26 10:54:38 +09:00
neo
9adaeb061a More NEON functionalities 2015-07-21 11:52:15 +09:00
neo
0ffcdf6204 Debugged vector version of ProjectOnGroup 2015-07-06 02:24:58 +09:00
Peter Boyle
4deffd1ccb No compile fix 2015-07-02 02:03:09 +01:00
neo
e31dfa79d1 Merge remote-tracking branch 'upstream/master' 2015-06-17 02:02:51 +09:00
neo
6e5db0b1da Corrected bug in integer multiplications for SSE4 and AVX2
Merge remote-tracking branch 'upstream/master'

Conflicts:
	tests/Make.inc
2015-06-16 23:34:45 +09:00
Azusa Yamaguchi
20fe866651 Critical bug fix of sin/cos typo 2015-06-16 14:17:45 +01:00
Azusa Yamaguchi
22c8185caa Binop assist and real/complex improvements 2015-06-14 00:59:07 +01:00
Azusa Yamaguchi
42f7e5b7f8 More functions broken out into element by element 2015-06-14 00:58:14 +01:00
neo
ecf3bae150 Merge remote-tracking branch 'upstream/master' 2015-06-09 19:01:07 +09:00
neo
e80012896a Adding support for iMatrix exponentiation 2015-06-09 18:59:45 +09:00
Peter Boyle
a73a1c1bc1 Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Make.inc
2015-06-09 10:27:10 +01:00
Peter Boyle
1e5b015ee3 Some unary ops and coarse grid support 2015-06-09 10:26:19 +01:00
neo
48bf4878c1 Experimental support for ARM 2015-06-09 15:46:21 +09:00
Peter Boyle
d6f1ddf99c Conjugate residual algorithm; some more unary functions 2015-06-08 12:04:59 +01:00
neo
5a5ee83d28 Small modification to the configure files 2015-06-04 14:17:58 +09:00
Peter Boyle
62a7ca462f Works now with Clang-avx, Clang-sse and ICPC-avx, ICPC-sse 2015-05-28 11:35:43 +01:00
Peter Boyle
b72ca15bd2 Improving the reduction to go through our on permute.
Must also do this for avx512
2015-05-27 16:07:17 +01:00
neo
64753ea633 Included Gpermute in the new Grid_simd.h file style.
Now tested for SSE4. OK
2015-05-27 12:11:44 +09:00
Guido Cossu
8abf6403d5 Corrected AVX regression error. Tested. 2015-05-27 10:49:33 +09:00
neo
da46b56e85 Adding support for doxygen generation 2015-05-27 10:34:56 +09:00
neo
500f6ed0c5 More cleanup of Grid_simd.h 2015-05-26 13:54:34 +09:00
neo
4dbaa389c8 Cleaning up simd files 2015-05-26 13:31:10 +09:00
neo
48cc816136 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/math/Grid_math_tensors.h
	lib/simd/Grid_vector_types.h
2015-05-26 13:14:06 +09:00
neo
1a24801246 checked performance of new vector libaries.
Added check for c++11 support on the configure.ac
2015-05-26 12:02:54 +09:00
Peter Boyle
489b1b9633 Schur complement based red-black inversion working 2015-05-25 13:47:12 +01:00
Peter Boyle
5cf285bce9 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-23 09:36:08 +01:00
neo
9e29ac6549 Completed implementation of new Grid_simd classes
Tested performance for SSE4, Ok.
AVX1/2, AVX512 yet untested
2015-05-22 17:33:15 +09:00
neo
d03c4e5901 Merge remote-tracking branch 'upstream/master'
Conflicts:
	lib/simd/Grid_vector_types.h
	tests/Makefile.am
2015-05-20 17:32:46 +09:00
neo
cf7be0e461 Implemented all SSE4 functions.
A test code Grid_simd_new.cc has been created to test the new class.
Tests are all OK.
2015-05-20 17:22:40 +09:00
Peter Boyle
221902a882 Merging in
Merge branch 'master' of https://github.com/paboyle/Grid
2015-05-19 21:30:13 +01:00
Peter Boyle
a21036e69a Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle
fde7f8d6b9 Merged
Merge branch 'master' of https://github.com/coppolachan/Grid into coppolachan-master

Conflicts:
	lib/simd/Grid_vector_types.h
2015-05-19 15:05:07 +01:00
Peter Boyle
4dba8522a1 Got unpreconditioned conjugate gradient to run and converge on a random (uniform random,
not even SU(3) for now) gauge field. Convergence history is correctly indepdendent of decomposition
on 1,2,4,8,16 mpi tasks.
Found a couple of simd bugs which required fixed and enhanced the Grid_simd.cc test suite.
Implemented the Mdag, M, MdagM, Meooe Mooee schur type stuff in the wilson dop.
2015-05-19 13:57:35 +01:00
neo
74e91cd925 Partial implementation of the vector types SIMD
Implementing SSE4 now
A systematic series of tests must be written.
2015-05-19 17:21:17 +09:00
neo
baa382f055 Added check of mpfr and gmp at configure time
It generates automatically the linker flags or complains if not found.
2015-05-19 13:54:55 +09:00
neo
7ad705066d Merging with upstream 2015-05-19 13:36:03 +09:00
neo
b4cd37276b Corrected some compilation errors (zolotarev.h) and SSE4 vsplat and conj to make cshift test pass. 2015-05-18 16:48:14 +09:00
Peter Boyle
9386522543 Compile options tweak 2015-05-15 12:33:18 +01:00
Peter Boyle
882fa27ff5 GCC and ICPC complained on more careful typeing 2015-05-15 11:50:44 +01:00
Peter Boyle
3346b68ccd Move platform dependent out to Grid_simd.h 2015-05-15 11:50:00 +01:00
Peter Boyle
0afb64bf24 ngo store 2015-05-15 11:49:39 +01:00
Peter Boyle
6cec662ac5 Enhanced SIMD interfacing 2015-05-12 20:41:44 +01:00
Peter Boyle
6103c29ee3 Threading support rework.
Placed parallel pragmas as macros; implemented deterministic thread reduction in style of
BFM.
2015-05-12 07:51:41 +01:00
Peter Boyle
5555a852be Lots of changes required to compile for MIC under ICPC 2015-05-10 23:29:21 +01:00
Peter Boyle
55ccb8ccf4 Wilson perf improvements with Gauge prefetching 2015-05-06 06:37:21 +01:00
Peter Boyle
5ebc7a1756 Added streaming stores 2015-05-05 18:09:28 +01:00
Peter Boyle
193860dbc8 Comms and memory benchmarks added 2015-05-03 09:44:47 +01:00
Peter Boyle
25d523c0f4 Shaken out stencil to the point where I think wilson dslash is correct.
Need to audit code carefully, consolidate between stencil and cshift,
and then benchmark and optimise.
2015-04-28 08:11:59 +01:00
Peter Boyle
94f728bee4 Big updates with progress towards wilson matrix 2015-04-26 15:51:09 +01:00
Peter Boyle
d707c4e0a3 First implementation of Dirac matrices as a Gamma class. 2015-04-24 18:20:03 +01:00
Peter Boyle
a37a9789c9 Snippets from Guido to optimise Reduce 2015-04-23 08:31:40 +01:00
Peter Boyle
e5a25dfcb1 Build reorg with which I am a bit happier 2015-04-18 21:22:50 +01:00