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

1196 Commits

Author SHA1 Message Date
Peter Boyle
41ba13f951 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-23 09:36:08 +01:00
Peter Boyle
c25016030c Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-23 09:36:08 +01:00
Peter Boyle
5cf285bce9 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-23 09:36:08 +01:00
Peter Boyle
2d30e82dcb Improving even odd sector; lot of work and through required cleaning this 2015-05-23 09:34:16 +01:00
Peter Boyle
65f2e6b269 Improving even odd sector; lot of work and through required cleaning this 2015-05-23 09:34:16 +01:00
Peter Boyle
64fcbd0387 Improving even odd sector; lot of work and through required cleaning this 2015-05-23 09:34:16 +01:00
Peter Boyle
0b165afd9e Rely on default constructors 2015-05-23 09:33:42 +01:00
Peter Boyle
d07a5c084d Rely on default constructors 2015-05-23 09:33:42 +01:00
Peter Boyle
bef9bf0d38 Rely on default constructors 2015-05-23 09:33:42 +01:00
Peter Boyle
3954792f37 Better pragma use 2015-05-23 09:32:37 +01:00
Peter Boyle
a2928321b6 Better pragma use 2015-05-23 09:32:37 +01:00
Peter Boyle
eadfb5be67 Better pragma use 2015-05-23 09:32:37 +01:00
Peter Boyle
8c7b5f5d3b Cosmetic 2015-05-23 09:31:15 +01:00
Peter Boyle
764732944f Cosmetic 2015-05-23 09:31:15 +01:00
Peter Boyle
33737ef57a Cosmetic 2015-05-23 09:31:15 +01:00
Peter Boyle
be8b4f89d6 Iterator required 2015-05-23 09:30:28 +01:00
Peter Boyle
ae58a9ada2 Iterator required 2015-05-23 09:30:28 +01:00
Peter Boyle
32c3f16f95 Iterator required 2015-05-23 09:30:28 +01:00
neo
57feda4328 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
1c862dc15b 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
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
Peter Boyle
e0cc5ba920 Streaming store option ifdef 2015-05-21 06:47:05 +01:00
Peter Boyle
d8061afe24 Streaming store option ifdef 2015-05-21 06:47:05 +01:00
Peter Boyle
9601890549 Streaming store option ifdef 2015-05-21 06:47:05 +01:00
Peter Boyle
1b9ecbac3b Compile time select if we do the streaming store copy. Relies on Clang++ eliminating object copies,
and other compliers do not necessarily cope.
2015-05-21 06:39:00 +01:00
Peter Boyle
874b2eb32d Compile time select if we do the streaming store copy. Relies on Clang++ eliminating object copies,
and other compliers do not necessarily cope.
2015-05-21 06:39:00 +01:00
Peter Boyle
1559dd4adc Compile time select if we do the streaming store copy. Relies on Clang++ eliminating object copies,
and other compliers do not necessarily cope.
2015-05-21 06:39:00 +01:00
Peter Boyle
db786fac13 Didn't like a print statement 2015-05-21 06:36:15 +01:00
Peter Boyle
57a01e6bbb Didn't like a print statement 2015-05-21 06:36:15 +01:00
Peter Boyle
d0d41b8bce Didn't like a print statement 2015-05-21 06:36:15 +01:00
Peter Boyle
9058135da0 Unroll pragma abstraction 2015-05-21 06:34:33 +01:00
Peter Boyle
35055ed5c1 Unroll pragma abstraction 2015-05-21 06:34:33 +01:00
Peter Boyle
34960ca50c Unroll pragma abstraction 2015-05-21 06:34:33 +01:00
neo
f8d8958884 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
9098d7d0a3 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
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
e529210f43 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
neo
3a3f54932a 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
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
8fdff33b3a Merging in
Merge branch 'master' of https://github.com/paboyle/Grid
2015-05-19 21:30:13 +01:00
Peter Boyle
dc4014668d Merging in
Merge branch 'master' of https://github.com/paboyle/Grid
2015-05-19 21:30:13 +01: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
efc0d1e0b9 Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle
b562b50196 Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle
a21036e69a Reworking to keep intel compiler happy 2015-05-19 21:29:07 +01:00
Peter Boyle
2d8b5a8191 Optimisation... 2015-05-19 15:50:47 +01:00
Peter Boyle
46ab8edf30 Optimisation... 2015-05-19 15:50:47 +01:00
Peter Boyle
8220794c44 Optimisation... 2015-05-19 15:50:47 +01:00
Peter Boyle
3fe7275332 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
3d66d00313 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
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
azusayamaguchi
ee8cf77071 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-19 14:55:26 +01:00
azusayamaguchi
a4b3bc7714 Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-19 14:55:26 +01:00
azusayamaguchi
2d2da8364f Merge branch 'master' of https://github.com/paboyle/Grid 2015-05-19 14:55:26 +01:00
azusayamaguchi
c8c74e591f Add messages to get the number of threads for openmp 2015-05-19 14:54:42 +01:00
azusayamaguchi
592cec72e2 Add messages to get the number of threads for openmp 2015-05-19 14:54:42 +01:00
azusayamaguchi
91f29d4a68 Add messages to get the number of threads for openmp 2015-05-19 14:54:42 +01:00
Peter Boyle
a6e1ea216d 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
Peter Boyle
ffc00caea3 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
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
7fb3221d47 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
b29caead32 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
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
639fd05239 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
4cadf11d1d 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
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
d6887beead Merging with upstream 2015-05-19 13:36:03 +09:00
neo
b5af3fbe45 Merging with upstream 2015-05-19 13:36:03 +09:00
neo
7ad705066d Merging with upstream 2015-05-19 13:36:03 +09:00
Peter Boyle
30494bd96d Merge branch 'master' of https://github.com/coppolachan/Grid into coppolachan-master
Conflicts:
	lib/algorithms/approx/bigfloat.h
2015-05-18 16:34:21 +01:00
Peter Boyle
cf9bbee256 Merge branch 'master' of https://github.com/coppolachan/Grid into coppolachan-master
Conflicts:
	lib/algorithms/approx/bigfloat.h
2015-05-18 16:34:21 +01:00
Peter Boyle
05f1419df4 Merge branch 'master' of https://github.com/coppolachan/Grid into coppolachan-master
Conflicts:
	lib/algorithms/approx/bigfloat.h
2015-05-18 16:34:21 +01:00
Peter Boyle
193fd5532f Remez tested 2015-05-18 12:09:25 +01:00
Peter Boyle
2843264bd8 Remez tested 2015-05-18 12:09:25 +01:00
Peter Boyle
17835c6f42 Remez tested 2015-05-18 12:09:25 +01:00
neo
fa1dc5e448 Minor modification to the configure.ac
Enables silent rules (use make V=1 to override)
Prints a summary after configure is completed
2015-05-18 17:15:14 +09:00
neo
17e4e478cd Minor modification to the configure.ac
Enables silent rules (use make V=1 to override)
Prints a summary after configure is completed
2015-05-18 17:15:14 +09:00
neo
99aecf1f2e Minor modification to the configure.ac
Enables silent rules (use make V=1 to override)
Prints a summary after configure is completed
2015-05-18 17:15:14 +09:00
neo
6d2accba7b Corrected some compilation errors (zolotarev.h) and SSE4 vsplat and conj to make cshift test pass. 2015-05-18 16:48:14 +09:00
neo
cee363e28c Corrected some compilation errors (zolotarev.h) and SSE4 vsplat and conj to make cshift test pass. 2015-05-18 16:48:14 +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
1887c77498 Getting closer to having a wilson solver... introducing a first and untested
cut at Conjugate gradient. Also copied in Remez, Zolotarev, Chebyshev from
Mike Clark, Tony Kennedy and my BFM package respectively since we know we will
need these. I wanted the structure of

algorithms/approx
algorithms/iterative

etc.. to start taking shape.
2015-05-18 07:47:05 +01:00
Peter Boyle
d0e4673a3f Getting closer to having a wilson solver... introducing a first and untested
cut at Conjugate gradient. Also copied in Remez, Zolotarev, Chebyshev from
Mike Clark, Tony Kennedy and my BFM package respectively since we know we will
need these. I wanted the structure of

algorithms/approx
algorithms/iterative

etc.. to start taking shape.
2015-05-18 07:47:05 +01:00
Peter Boyle
11cb3e9a01 Getting closer to having a wilson solver... introducing a first and untested
cut at Conjugate gradient. Also copied in Remez, Zolotarev, Chebyshev from
Mike Clark, Tony Kennedy and my BFM package respectively since we know we will
need these. I wanted the structure of

algorithms/approx
algorithms/iterative

etc.. to start taking shape.
2015-05-18 07:47:05 +01:00
Peter Boyle
6eb8dfd902 Working towards solvers 2015-05-17 00:19:03 +01:00
Peter Boyle
8e99e4671f Working towards solvers 2015-05-17 00:19:03 +01:00
Peter Boyle
7992346190 Working towards solvers 2015-05-17 00:19:03 +01:00
Peter Boyle
e841395dfd Updating preparing for solvers etc.. 2015-05-16 23:35:08 +01:00
Peter Boyle
dc6b6bdc96 Updating preparing for solvers etc.. 2015-05-16 23:35:08 +01:00
Peter Boyle
bf7ab0da7a Updating preparing for solvers etc.. 2015-05-16 23:35:08 +01:00
Peter Boyle
53260e7a39 Typoo xifed 2015-05-16 05:49:32 +01:00
Peter Boyle
39e7ef1243 Typoo xifed 2015-05-16 05:49:32 +01:00
Peter Boyle
e9ed288b00 Typoo xifed 2015-05-16 05:49:32 +01:00
Peter Boyle
a900790b44 Update Grid_lattice_trace.h 2015-05-16 04:40:28 +01:00
Peter Boyle
9c38a52bad Update Grid_lattice_trace.h 2015-05-16 04:40:28 +01:00
Peter Boyle
dda3da45fb Update Grid_lattice_trace.h 2015-05-16 04:40:28 +01:00
Peter Boyle
b731bf6976 Pretty syntax 2015-05-16 04:37:26 +01:00
Peter Boyle
1247d7aea8 Pretty syntax 2015-05-16 04:37:26 +01:00
Peter Boyle
2e4ba02443 Pretty syntax 2015-05-16 04:37:26 +01:00
Peter Boyle
5f8b82b90c Optimisation and syntax pretty 2015-05-16 04:36:22 +01:00
Peter Boyle
9f0e990b40 Optimisation and syntax pretty 2015-05-16 04:36:22 +01:00
Peter Boyle
a19aa9627d Optimisation and syntax pretty 2015-05-16 04:36:22 +01:00
Peter Boyle
afda459886 strong inline 2015-05-16 04:33:10 +01:00
Peter Boyle
49f56a25d1 strong inline 2015-05-16 04:33:10 +01:00
Peter Boyle
9e29fb2c6a strong inline 2015-05-16 04:33:10 +01:00
Peter Boyle
f43589369a Compile options tweak 2015-05-15 12:33:18 +01:00
Peter Boyle
675fd1a065 Compile options tweak 2015-05-15 12:33:18 +01:00
Peter Boyle
9386522543 Compile options tweak 2015-05-15 12:33:18 +01:00
Peter Boyle
c99922b591 Out of source compile now working 2015-05-15 12:21:40 +01:00
Peter Boyle
a98f3e0f5e Out of source compile now working 2015-05-15 12:21:40 +01:00
Peter Boyle
331f832c34 Out of source compile now working 2015-05-15 12:21:40 +01:00
Peter Boyle
3ed30169ea clang++ 3.4/5/7 compile happy for AVX and SSE
icpc compiles happy on MacOSX both with -xCOMMON-AV512 and native AVX

gcc-5 does not compile happy; can work around by renaming lattice peek/poke/transpose/trace templates
relative to tensor ones, but gcc goes into a recursive template instantiation due to
matching error. I think this is a gcc bug and have filed a report https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66153
2015-05-15 11:52:11 +01:00
Peter Boyle
100323ab4d clang++ 3.4/5/7 compile happy for AVX and SSE
icpc compiles happy on MacOSX both with -xCOMMON-AV512 and native AVX

gcc-5 does not compile happy; can work around by renaming lattice peek/poke/transpose/trace templates
relative to tensor ones, but gcc goes into a recursive template instantiation due to
matching error. I think this is a gcc bug and have filed a report https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66153
2015-05-15 11:52:11 +01:00
Peter Boyle
0b4d3544b9 clang++ 3.4/5/7 compile happy for AVX and SSE
icpc compiles happy on MacOSX both with -xCOMMON-AV512 and native AVX

gcc-5 does not compile happy; can work around by renaming lattice peek/poke/transpose/trace templates
relative to tensor ones, but gcc goes into a recursive template instantiation due to
matching error. I think this is a gcc bug and have filed a report https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66153
2015-05-15 11:52:11 +01:00
Peter Boyle
180b06d7e3 GCC and ICPC complained on more careful typeing 2015-05-15 11:50:44 +01:00
Peter Boyle
254dee6ac7 GCC and ICPC complained on more careful typeing 2015-05-15 11:50:44 +01:00
Peter Boyle
882fa27ff5 GCC and ICPC complained on more careful typeing 2015-05-15 11:50:44 +01:00
Peter Boyle
3bd376853c Move platform dependent out to Grid_simd.h 2015-05-15 11:50:00 +01:00
Peter Boyle
264850bc16 Move platform dependent out to Grid_simd.h 2015-05-15 11:50:00 +01:00
Peter Boyle
3346b68ccd Move platform dependent out to Grid_simd.h 2015-05-15 11:50:00 +01:00
Peter Boyle
6bba16ccf7 ngo store 2015-05-15 11:49:39 +01:00
Peter Boyle
9a120cf5ec ngo store 2015-05-15 11:49:39 +01:00
Peter Boyle
0afb64bf24 ngo store 2015-05-15 11:49:39 +01:00
Peter Boyle
e8efa6320e Parallel for replace 2015-05-15 11:48:04 +01:00
Peter Boyle
8d77d758c3 Parallel for replace 2015-05-15 11:48:04 +01:00
Peter Boyle
537f47404b Parallel for replace 2015-05-15 11:48:04 +01:00
Peter Boyle
e3b61bdfce Forces inlining upon icpc 2015-05-15 11:43:49 +01:00
Peter Boyle
0e7945fe54 Forces inlining upon icpc 2015-05-15 11:43:49 +01:00
Peter Boyle
a0d041b522 Forces inlining upon icpc 2015-05-15 11:43:49 +01:00
Peter Boyle
86b9d24b62 Force inlining upon icpc 2015-05-15 11:43:20 +01:00
Peter Boyle
bd721ce1c8 Force inlining upon icpc 2015-05-15 11:43:20 +01:00
Peter Boyle
8c57bcaece Force inlining upon icpc 2015-05-15 11:43:20 +01:00
Peter Boyle
3e3a8dc0c0 More elegant enable_if 2015-05-15 11:42:51 +01:00
Peter Boyle
a852d13f03 More elegant enable_if 2015-05-15 11:42:51 +01:00
Peter Boyle
519eab8ff0 More elegant enable_if 2015-05-15 11:42:51 +01:00
Peter Boyle
4350c1e0f7 More elegant to do boolean logic inside the enable_if construct
Should have done that from the beginning and should move this into
a global edit
2015-05-15 11:42:03 +01:00
Peter Boyle
a26fdab719 More elegant to do boolean logic inside the enable_if construct
Should have done that from the beginning and should move this into
a global edit
2015-05-15 11:42:03 +01:00
Peter Boyle
f986e123d2 More elegant to do boolean logic inside the enable_if construct
Should have done that from the beginning and should move this into
a global edit
2015-05-15 11:42:03 +01:00
Peter Boyle
8c59605e05 Force inlining on ICPC because inline apparently is not enoguh 2015-05-15 11:41:31 +01:00
Peter Boyle
af6e8f7829 Force inlining on ICPC because inline apparently is not enoguh 2015-05-15 11:41:31 +01:00
Peter Boyle
70638bf1f1 Force inlining on ICPC because inline apparently is not enoguh 2015-05-15 11:41:31 +01:00
Peter Boyle
e59b6a805c strong_inline forces ICPC to do it. 2015-05-15 11:40:59 +01:00
Peter Boyle
cbfa4097b4 strong_inline forces ICPC to do it. 2015-05-15 11:40:59 +01:00
Peter Boyle
54d8972753 strong_inline forces ICPC to do it. 2015-05-15 11:40:59 +01:00
Peter Boyle
5d8303e94d Force strong_inline to force ipcc's hand 2015-05-15 11:40:31 +01:00
Peter Boyle
8c40dd9c4f Force strong_inline to force ipcc's hand 2015-05-15 11:40:31 +01:00
Peter Boyle
5159b26261 Force strong_inline to force ipcc's hand 2015-05-15 11:40:31 +01:00
Peter Boyle
1339a7f8b0 Switch to strong_inline macro to force icpc's hand 2015-05-15 11:40:00 +01:00
Peter Boyle
b38bf82d48 Switch to strong_inline macro to force icpc's hand 2015-05-15 11:40:00 +01:00
Peter Boyle
c33ec96fc8 Switch to strong_inline macro to force icpc's hand 2015-05-15 11:40:00 +01:00
Peter Boyle
e58cc72fe5 Promote to strong inline to force ICPC's hand. Annoying. 2015-05-15 11:39:25 +01:00
Peter Boyle
adc4f86020 Promote to strong inline to force ICPC's hand. Annoying. 2015-05-15 11:39:25 +01:00
Peter Boyle
577325cb7a Promote to strong inline to force ICPC's hand. Annoying. 2015-05-15 11:39:25 +01:00
Peter Boyle
074430af0d Formatting change 2015-05-15 11:38:54 +01:00
Peter Boyle
5b46992a15 Formatting change 2015-05-15 11:38:54 +01:00
Peter Boyle
46c4379592 Formatting change 2015-05-15 11:38:54 +01:00
Peter Boyle
873110d482 Filed bug report Bug 66153 on GCC-5.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66153
2015-05-15 11:38:04 +01:00
Peter Boyle
e7d25647e6 Filed bug report Bug 66153 on GCC-5.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66153
2015-05-15 11:38:04 +01:00
Peter Boyle
f761ab0f50 Filed bug report Bug 66153 on GCC-5.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66153
2015-05-15 11:38:04 +01:00
Peter Boyle
4cee0e8653 Silly formatting change 2015-05-15 11:37:07 +01:00
Peter Boyle
c28551f40f Silly formatting change 2015-05-15 11:37:07 +01:00
Peter Boyle
2a28cfb3a3 Silly formatting change 2015-05-15 11:37:07 +01:00
Peter Boyle
6b2a786779 gcc doesn't like collapse(2) for some reason I can't figure 2015-05-15 11:36:22 +01:00
Peter Boyle
6c7eb60d6f gcc doesn't like collapse(2) for some reason I can't figure 2015-05-15 11:36:22 +01:00
Peter Boyle
b00622302b gcc doesn't like collapse(2) for some reason I can't figure 2015-05-15 11:36:22 +01:00
Peter Boyle
cf27f22dc0 ICPC and GCC5 fixes 2015-05-15 11:35:02 +01:00
Peter Boyle
051b23fe10 ICPC and GCC5 fixes 2015-05-15 11:35:02 +01:00
Peter Boyle
3057b2762a ICPC and GCC5 fixes 2015-05-15 11:35:02 +01:00
Peter Boyle
40192841a4 Using boolean logic inside enable_if is more elegant 2015-05-15 11:32:45 +01:00
Peter Boyle
4e462209c7 Using boolean logic inside enable_if is more elegant 2015-05-15 11:32:45 +01:00
Peter Boyle
151a6f4e14 Using boolean logic inside enable_if is more elegant 2015-05-15 11:32:45 +01:00
Peter Boyle
1771f97551 Key of mm_malloc.h 2015-05-15 11:32:11 +01:00
Peter Boyle
8d1b26dd4b Key of mm_malloc.h 2015-05-15 11:32:11 +01:00
Peter Boyle
a36c974f26 Key of mm_malloc.h 2015-05-15 11:32:11 +01:00
Peter Boyle
2eaf73e8b3 strong inline required to force icpc 2015-05-15 11:31:41 +01:00
Peter Boyle
cc6218a692 strong inline required to force icpc 2015-05-15 11:31:41 +01:00
Peter Boyle
c0977dcfaa strong inline required to force icpc 2015-05-15 11:31:41 +01:00
Peter Boyle
43bdbb5080 Linear op added 2015-05-13 11:25:34 +01:00
Peter Boyle
5166888c0a Linear op added 2015-05-13 11:25:34 +01:00
Peter Boyle
f1255197c2 Linear op added 2015-05-13 11:25:34 +01:00
Peter Boyle
7f3ae64a31 OMP dslash working 2015-05-13 10:59:22 +01:00
Peter Boyle
0097b81778 OMP dslash working 2015-05-13 10:59:22 +01:00
Peter Boyle
e179828662 OMP dslash working 2015-05-13 10:59:22 +01:00
Peter Boyle
d388b831b4 cout IO for all types 2015-05-13 09:24:10 +01:00
Peter Boyle
add4495a4a cout IO for all types 2015-05-13 09:24:10 +01:00
Peter Boyle
a108d5d3b0 cout IO for all types 2015-05-13 09:24:10 +01:00
Peter Boyle
b4a570477c I have made the Cshift work successfully with open mp threading in
every routine. Collapse(2) is now working under clang-omp++.
2015-05-13 00:31:00 +01:00
Peter Boyle
541d52ab97 I have made the Cshift work successfully with open mp threading in
every routine. Collapse(2) is now working under clang-omp++.
2015-05-13 00:31:00 +01:00
Peter Boyle
48f425d31c I have made the Cshift work successfully with open mp threading in
every routine. Collapse(2) is now working under clang-omp++.
2015-05-13 00:31:00 +01:00
Peter Boyle
52174da232 Enhanced SIMD interfacing 2015-05-12 20:41:44 +01:00
Peter Boyle
556befaaaa Enhanced SIMD interfacing 2015-05-12 20:41:44 +01:00
Peter Boyle
6cec662ac5 Enhanced SIMD interfacing 2015-05-12 20:41:44 +01:00
Peter Boyle
65c91eae64 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
c6baa3e657 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
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
8b765be2b1 Moving some things around for pretty 2015-05-11 19:09:49 +01:00
Peter Boyle
6e6843ac69 Moving some things around for pretty 2015-05-11 19:09:49 +01:00
Peter Boyle
b1d2c60d07 Moving some things around for pretty 2015-05-11 19:09:49 +01:00
Peter Boyle
a411b48a91 Adding a better controlled threading class, preparing to
force in deterministic reduction.
2015-05-11 18:59:03 +01:00
Peter Boyle
c8dc8ff891 Adding a better controlled threading class, preparing to
force in deterministic reduction.
2015-05-11 18:59:03 +01:00
Peter Boyle
22d384b07d Adding a better controlled threading class, preparing to
force in deterministic reduction.
2015-05-11 18:59:03 +01:00
Peter Boyle
ebcb87abe1 Got command line args working 2015-05-11 14:36:48 +01:00
Peter Boyle
b613ed0bb8 Got command line args working 2015-05-11 14:36:48 +01:00
Peter Boyle
f5dcca7b1b Got command line args working 2015-05-11 14:36:48 +01:00
paboyle
fa5779537c Command line args and a general clean up 2015-05-11 12:43:10 +01:00
paboyle
b42453d1fd Command line args and a general clean up 2015-05-11 12:43:10 +01:00
paboyle
379943abf5 Command line args and a general clean up 2015-05-11 12:43:10 +01:00
Peter Boyle
242e447bc5 Lots of changes required to compile for MIC under ICPC 2015-05-10 23:29:21 +01:00
Peter Boyle
2203c6e597 Lots of changes required to compile for MIC under ICPC 2015-05-10 23:29:21 +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
352bccf6ca Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/qcd/Grid_qcd_wilson_dop.cc
2015-05-10 15:37:47 +01:00
Peter Boyle
4da2c2ea00 Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/qcd/Grid_qcd_wilson_dop.cc
2015-05-10 15:37:47 +01:00
Peter Boyle
48b9692845 Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/qcd/Grid_qcd_wilson_dop.cc
2015-05-10 15:37:47 +01:00
Peter Boyle
c946e77143 Expression template hack 2015-05-10 15:35:30 +01:00
Peter Boyle
1ec1b4ee44 Expression template hack 2015-05-10 15:35:30 +01:00
Peter Boyle
b802abc83f Expression template hack 2015-05-10 15:35:30 +01:00
Peter Boyle
015fbee772 Expression template engin 2015-05-10 15:34:20 +01:00
Peter Boyle
1ab92563b9 Expression template engin 2015-05-10 15:34:20 +01:00
Peter Boyle
14591c72d6 Expression template engin 2015-05-10 15:34:20 +01:00
Peter Boyle
133493dc79 Small tweak to enable benchmarking to suppress gauge field bandwidth as a test.
This is a short term hack while I benchmark.
2015-05-10 15:25:23 +01:00
Peter Boyle
dc7132af71 Small tweak to enable benchmarking to suppress gauge field bandwidth as a test.
This is a short term hack while I benchmark.
2015-05-10 15:25:23 +01:00
Peter Boyle
02ae26d091 Small tweak to enable benchmarking to suppress gauge field bandwidth as a test.
This is a short term hack while I benchmark.
2015-05-10 15:25:23 +01:00
Peter Boyle
58d32a4d0e Assertion should never hit, but did due to a bug 2015-05-10 15:24:37 +01:00
Peter Boyle
961fbb2718 Assertion should never hit, but did due to a bug 2015-05-10 15:24:37 +01:00
Peter Boyle
2ffd941d67 Assertion should never hit, but did due to a bug 2015-05-10 15:24:37 +01:00
Peter Boyle
6bb17502f9 Moving operator stuff into separate file so that we can switch on/off replacement with
expression templates
2015-05-10 15:23:49 +01:00
Peter Boyle
4a8fd55f52 Moving operator stuff into separate file so that we can switch on/off replacement with
expression templates
2015-05-10 15:23:49 +01:00
Peter Boyle
ca554f661b Moving operator stuff into separate file so that we can switch on/off replacement with
expression templates
2015-05-10 15:23:49 +01:00
Peter Boyle
8299bc39ea Fixing breakage in the Comms non compile 2015-05-10 15:23:09 +01:00
Peter Boyle
e02cbaa016 Fixing breakage in the Comms non compile 2015-05-10 15:23:09 +01:00
Peter Boyle
29be76f958 Fixing breakage in the Comms non compile 2015-05-10 15:23:09 +01:00
Peter Boyle
7f04b85368 Bringing expression templates for faster vector loops 2015-05-10 15:22:31 +01:00
Peter Boyle
463c31ae09 Bringing expression templates for faster vector loops 2015-05-10 15:22:31 +01:00
Peter Boyle
e3acb36de6 Bringing expression templates for faster vector loops 2015-05-10 15:22:31 +01:00
Peter Boyle
5415180676 Wilson perf improvements with Gauge prefetching 2015-05-06 06:37:21 +01:00
Peter Boyle
52403d587c Wilson perf improvements with Gauge prefetching 2015-05-06 06:37:21 +01:00
Peter Boyle
55ccb8ccf4 Wilson perf improvements with Gauge prefetching 2015-05-06 06:37:21 +01:00
Peter Boyle
7b0dd6c5d6 Cleaned up for Linux 2015-05-05 22:09:22 +01:00
Peter Boyle
cdd5cdeda2 Cleaned up for Linux 2015-05-05 22:09:22 +01:00
Peter Boyle
35d949cc17 Cleaned up for Linux 2015-05-05 22:09:22 +01:00
Peter Boyle
cb4b82b09f streaming store cases 2015-05-05 18:14:09 +01:00
Peter Boyle
b9d16a7191 streaming store cases 2015-05-05 18:14:09 +01:00
Peter Boyle
cd990ba13d Streaming store option 2015-05-05 18:13:06 +01:00
Peter Boyle
07d57b6d55 Streaming store option 2015-05-05 18:13:06 +01:00
Peter Boyle
249165d1b2 Added streaming stores 2015-05-05 18:09:28 +01:00
Peter Boyle
5ebc7a1756 Added streaming stores 2015-05-05 18:09:28 +01:00
Peter Boyle
2b46ad38e2 Back to vector for now; cost of init loop is clear in the a*x + y
loop in memory benchmark and must move to better container class.
2015-05-03 09:48:13 +01:00
Peter Boyle
aeda7b923d Back to vector for now; cost of init loop is clear in the a*x + y
loop in memory benchmark and must move to better container class.
2015-05-03 09:48:13 +01:00
Peter Boyle
9d93d1e6d4 Comms and memory benchmarks added 2015-05-03 09:44:47 +01:00
Peter Boyle
193860dbc8 Comms and memory benchmarks added 2015-05-03 09:44:47 +01:00
Peter Boyle
ea52562527 Added a comms benchmark 2015-05-02 23:42:30 +01:00
Peter Boyle
f663be2a6c Added a comms benchmark 2015-05-02 23:42:30 +01:00
Peter Boyle
bdf18941a2 Improving the byte swap support for portability 2015-05-01 10:57:33 +01:00
Peter Boyle
31fd146cc0 Improving the byte swap support for portability 2015-05-01 10:57:33 +01:00
Peter Boyle
d904e2b9ac Merge branch 'master' of https://github.com/paboyle/Grid 2015-04-30 16:40:13 +01:00
Peter Boyle
c770f96be7 Merge branch 'master' of https://github.com/paboyle/Grid 2015-04-30 16:40:13 +01:00
Peter Boyle
c0ead94791 Integrated Lebesgue code and been playing with alternate implementations of the wilson dop without
any particular success in increasing the performance.
2015-04-30 16:39:06 +01:00
Peter Boyle
a98c01c86a Integrated Lebesgue code and been playing with alternate implementations of the wilson dop without
any particular success in increasing the performance.
2015-04-30 16:39:06 +01:00
mspraggs
24fc71b2e9 Added <map> include to GridNerscIO.h
Adding this allows clang to compile Grid to completion.
2015-04-29 23:44:03 +01:00
mspraggs
6f05404cb8 Added <map> include to GridNerscIO.h
Adding this allows clang to compile Grid to completion.
2015-04-29 23:44:03 +01:00
Peter Boyle
dcc23faa4a Fixed the stencil sector and Wilson now agrees between stencil based implementation
and the cshift based implementation. Managed to reduce the volume of code in this
sector a little, but consolidation would be good, perhaps taking common
logic out into simple helper functions
2015-04-29 06:23:56 +01:00
Peter Boyle
c72db6c6f6 Fixed the stencil sector and Wilson now agrees between stencil based implementation
and the cshift based implementation. Managed to reduce the volume of code in this
sector a little, but consolidation would be good, perhaps taking common
logic out into simple helper functions
2015-04-29 06:23:56 +01:00
Peter Boyle
b0485894b3 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
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
0b7d389258 Reworking CSHIFT and Stencil. Implementing Wilson and discovered rework is required 2015-04-27 13:45:07 +01:00
Peter Boyle
f159495a9d Reworking CSHIFT and Stencil. Implementing Wilson and discovered rework is required 2015-04-27 13:45:07 +01:00
Peter Boyle
35cfef2129 Big updates with progress towards wilson matrix 2015-04-26 15:51:09 +01:00
Peter Boyle
94f728bee4 Big updates with progress towards wilson matrix 2015-04-26 15:51:09 +01:00
Peter Boyle
c678f2d255 Starting the implementation of wilson; incomplete and committing non-functional code which
is not yet included from elsewhere or linked to the build system.
2015-04-25 14:33:02 +01:00
Peter Boyle
51f0da7b93 Starting the implementation of wilson; incomplete and committing non-functional code which
is not yet included from elsewhere or linked to the build system.
2015-04-25 14:33:02 +01:00
Peter Boyle
2d8cf9e456 Added two spinor functionality required to support the Wilson hopping term. 2015-04-25 12:54:06 +01:00
Peter Boyle
c5fa18eb20 Added two spinor functionality required to support the Wilson hopping term. 2015-04-25 12:54:06 +01:00
Peter Boyle
fc32450360 Improved the gamma quite a bit.
Serial rng's which are set on node zero and broadcaste
2015-04-24 20:21:40 +01:00
Peter Boyle
9ec3529864 Improved the gamma quite a bit.
Serial rng's which are set on node zero and broadcaste
2015-04-24 20:21:40 +01:00
Peter Boyle
2a67214f9d static names and enum list 2015-04-24 19:12:14 +01:00
Peter Boyle
42eac283e2 static names and enum list 2015-04-24 19:12:14 +01:00
Peter Boyle
71d5927a66 Vectors now too and right multiple of matrix with gamma 2015-04-24 19:08:29 +01:00
Peter Boyle
38598190c3 Vectors now too and right multiple of matrix with gamma 2015-04-24 19:08:29 +01:00
Peter Boyle
f2ac20e7ab Removed summation 2015-04-24 18:42:44 +01:00
Peter Boyle
2e275e1e65 Removed summation 2015-04-24 18:42:44 +01:00
Peter Boyle
750dd5f5fd Cleared the code out from Grid_summation to lattice/Grid_lattice_transfer.h 2015-04-24 18:41:34 +01:00
Peter Boyle
80463ecaea Cleared the code out from Grid_summation to lattice/Grid_lattice_transfer.h 2015-04-24 18:41:34 +01:00
Peter Boyle
74432432b6 Moved code from summation into transfer and reduction 2015-04-24 18:40:44 +01:00
Peter Boyle
128ad0999f Moved code from summation into transfer and reduction 2015-04-24 18:40:44 +01:00
Peter Boyle
b8eef54fa7 First implementation of Dirac matrices as a Gamma class. 2015-04-24 18:20:03 +01:00
Peter Boyle
d707c4e0a3 First implementation of Dirac matrices as a Gamma class. 2015-04-24 18:20:03 +01:00
Peter Boyle
e2e3ea5742 Reorganised the TODO. Really getting somewhere 2015-04-23 20:42:30 +01:00
Peter Boyle
b9939e3974 Reorganised the TODO. Really getting somewhere 2015-04-23 20:42:30 +01:00
Peter Boyle
4b4dcc4c13 Rename Grid_QCD 2015-04-23 20:42:09 +01:00
Peter Boyle
3083d2e908 Rename Grid_QCD 2015-04-23 20:42:09 +01:00
Peter Boyle
afe6c4f64f move 2015-04-23 20:41:22 +01:00
Peter Boyle
898f64cdd7 move 2015-04-23 20:41:22 +01:00
Peter Boyle
62e8d2d127 Slice summation working. May move this into lattice/Grid_lattice_reduction however 2015-04-23 15:13:00 +01:00
Peter Boyle
52a6ba9767 Slice summation working. May move this into lattice/Grid_lattice_reduction however 2015-04-23 15:13:00 +01:00
Peter Boyle
b7416d79e3 Begginings of slice summation and subblocking 2015-04-23 11:04:59 +01:00
Peter Boyle
4d2198ea56 Begginings of slice summation and subblocking 2015-04-23 11:04:59 +01:00
Peter Boyle
2f8431ab03 Consolidate index to coor in a single routine 2015-04-23 11:04:19 +01:00
Peter Boyle
7007d6a176 Consolidate index to coor in a single routine 2015-04-23 11:04:19 +01:00
Peter Boyle
a9e574dd27 Snippets from Guido to optimise Reduce 2015-04-23 08:31:40 +01:00
Peter Boyle
a37a9789c9 Snippets from Guido to optimise Reduce 2015-04-23 08:31:40 +01:00
Peter Boyle
eb58297a43 Fixing endian on linux I hope 2015-04-23 07:51:15 +01:00
Peter Boyle
47292de769 Fixing endian on linux I hope 2015-04-23 07:51:15 +01:00
Peter Boyle
1851327d19 Got the NERSC IO working and fixed a bug in cshift. 2015-04-22 22:46:48 +01:00
Peter Boyle
b32c14b433 Got the NERSC IO working and fixed a bug in cshift. 2015-04-22 22:46:48 +01:00
Peter Boyle
a5b0c492d7 Rework of RNG to use C++11 random. Should work correctly maintaining parallel RNG across
a machine. If a "fixedSeed" is used, randoms should be reproducible across different machine
decomposition since the generators are physically indexed and assigned in lexico ordering.
2015-04-19 14:55:58 +01:00
Peter Boyle
42f167ea37 Rework of RNG to use C++11 random. Should work correctly maintaining parallel RNG across
a machine. If a "fixedSeed" is used, randoms should be reproducible across different machine
decomposition since the generators are physically indexed and assigned in lexico ordering.
2015-04-19 14:55:58 +01:00
Peter Boyle
f64d39ab57 Split all OMP directives into lattice subdir for easy maintainance of
parallelism and future OMP 4.0 offload.
2015-04-18 22:17:01 +01:00
Peter Boyle
5483ed641e Split all OMP directives into lattice subdir for easy maintainance of
parallelism and future OMP 4.0 offload.
2015-04-18 22:17:01 +01:00
Peter Boyle
1556c2ba3f Finishing the reorg 2015-04-18 21:24:10 +01:00
Peter Boyle
6bd11d920a Finishing the reorg 2015-04-18 21:24:10 +01:00
Peter Boyle
62fec04419 Reorganisation 2015-04-18 21:23:32 +01:00
Peter Boyle
8ddfa7e6b0 Reorganisation 2015-04-18 21:23:32 +01:00
Peter Boyle
aee6669d0b Build reorg with which I am a bit happier 2015-04-18 21:22:50 +01:00
Peter Boyle
e5a25dfcb1 Build reorg with which I am a bit happier 2015-04-18 21:22:50 +01:00
Peter Boyle
e6ec92d0e4 More files, shorter each. 2015-04-18 20:45:00 +01:00
Peter Boyle
25a8266638 More files, shorter each. 2015-04-18 20:45:00 +01:00
Peter Boyle
d964d01d6a Shrinking and organising the files 2015-04-18 20:44:19 +01:00
Peter Boyle
6eae2c1083 Shrinking and organising the files 2015-04-18 20:44:19 +01:00
Peter Boyle
0fce523792 Split up into multiple files 2015-04-18 18:54:30 +01:00
Peter Boyle
354347ce91 Split up into multiple files 2015-04-18 18:54:30 +01:00
Peter Boyle
520af214af splitting into smaller, multiple files for readability and easy find. 2015-04-18 18:47:43 +01:00
Peter Boyle
2eb5ab26bf splitting into smaller, multiple files for readability and easy find. 2015-04-18 18:47:43 +01:00
Peter Boyle
62ee8e1cb3 Cleanup 2015-04-18 18:37:56 +01:00
Peter Boyle
af72ade26a Cleanup 2015-04-18 18:37:56 +01:00
Peter Boyle
3931ad65c8 Reorg 2015-04-18 18:37:22 +01:00
Peter Boyle
e7661d3b12 Reorg 2015-04-18 18:37:22 +01:00
Peter Boyle
8195d302dc Reorganise to keep files smaller 2015-04-18 18:36:48 +01:00
Peter Boyle
cffad66894 Reorganise to keep files smaller 2015-04-18 18:36:48 +01:00
Peter Boyle
f7d80aac7f Rename 2015-04-18 17:10:45 +01:00
Peter Boyle
df9056eb4b Rename 2015-04-18 17:10:45 +01:00
Peter Boyle
08f20da103 Clean up caps. 2015-04-18 17:09:48 +01:00
Peter Boyle
2ee9322a8f Clean up caps. 2015-04-18 17:09:48 +01:00
Peter Boyle
2c9e5aa054 Clean up capitalisation 2015-04-18 17:09:24 +01:00
Peter Boyle
b0ce9e3934 Clean up capitalisation 2015-04-18 17:09:24 +01:00
Peter Boyle
ac181abc95 Rename 2015-04-18 17:07:37 +01:00
Peter Boyle
5e9a82b72b Rename 2015-04-18 17:07:37 +01:00
Peter Boyle
18a885d195 Renaming 2015-04-18 17:07:09 +01:00
Peter Boyle
b5356935e9 Renaming 2015-04-18 17:07:09 +01:00
Peter Boyle
1674f899e0 Cleaing up 2015-04-18 16:42:47 +01:00
Peter Boyle
eb0925d702 Cleaing up 2015-04-18 16:42:47 +01:00
Peter Boyle
f678be5f94 Shaken out the peekIndex support.
Hardwire constants "SpinIndex, ColourIndex" and LorentzIndex in Grid_QCD.h
2015-04-18 16:17:41 +01:00
Peter Boyle
b47d33c4f1 Shaken out the peekIndex support.
Hardwire constants "SpinIndex, ColourIndex" and LorentzIndex in Grid_QCD.h
2015-04-18 16:17:41 +01:00
Peter Boyle
388b735fd0 Build reorg 2015-04-18 14:56:05 +01:00
Peter Boyle
26148c3323 Build reorg 2015-04-18 14:56:05 +01:00
Peter Boyle
3e3df092bb Reorg of build structure 2015-04-18 14:55:00 +01:00
Peter Boyle
c656164015 Reorg of build structure 2015-04-18 14:55:00 +01:00