1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-10 07:55:35 +00:00
Commit Graph

624 Commits

Author SHA1 Message Date
Azusa Yamaguchi
89f961faef commit file list 2015-06-10 11:26:46 +01:00
Azusa Yamaguchi
22752f6ff0 commit file list 2015-06-10 11:26:46 +01:00
neo
965a92ce40 Adding several iMatrix utilities 2015-06-10 14:16:33 +09:00
neo
bb4a916767 Adding several iMatrix utilities 2015-06-10 14:16:33 +09:00
Peter Boyle
1118c42fcc Merge branch 'master' of https://github.com/paboyle/Grid
Not sure what changed in master
2015-06-09 22:51:10 +01:00
Peter Boyle
02144fb50b Merge branch 'master' of https://github.com/paboyle/Grid
Not sure what changed in master
2015-06-09 22:51:10 +01:00
Peter Boyle
60a96e3d0d Remove extra layers of checks now it works 2015-06-09 22:43:41 +01:00
Peter Boyle
0784bbc4bf Remove extra layers of checks now it works 2015-06-09 22:43:41 +01:00
Peter Boyle
6abbd35d81 5d OpDir direction interface refers to the 5d dims, not 4d to present a
sensible and consistent external interface.
2015-06-09 22:41:59 +01:00
Peter Boyle
b92060f511 5d OpDir direction interface refers to the 5d dims, not 4d to present a
sensible and consistent external interface.
2015-06-09 22:41:59 +01:00
Peter Boyle
c7152c520a g5 and g5R5 hermitian are now differentiated 2015-06-09 22:40:58 +01:00
Peter Boyle
c133974d67 g5 and g5R5 hermitian are now differentiated 2015-06-09 22:40:58 +01:00
Peter Boyle
4a10540365 Got this sorted with the promote working in a test 2015-06-09 22:39:13 +01:00
Peter Boyle
7766cc96c1 Got this sorted with the promote working in a test 2015-06-09 22:39:13 +01:00
Peter Boyle
e19391ef7a Starting to use 2015-06-09 22:38:13 +01:00
Peter Boyle
6fb36c8a51 Starting to use 2015-06-09 22:38:13 +01:00
Peter Boyle
a5b75a095c Debugged finally. A silly mistake in permute cost me a day of debug. 2015-06-09 22:37:21 +01:00
Peter Boyle
2e6986892a Debugged finally. A silly mistake in permute cost me a day of debug. 2015-06-09 22:37:21 +01:00
neo
61b85a0670 Merge remote-tracking branch 'upstream/master' 2015-06-09 19:01:07 +09:00
neo
ecf3bae150 Merge remote-tracking branch 'upstream/master' 2015-06-09 19:01:07 +09:00
neo
d60cfe31a7 Adding support for iMatrix exponentiation 2015-06-09 18:59:45 +09:00
neo
e80012896a Adding support for iMatrix exponentiation 2015-06-09 18:59:45 +09:00
Peter Boyle
e87554296c Merge pull request #14 from mspraggs/master
Removed std::string calls from NerscIO map indexing
2015-06-09 10:31:52 +01:00
Peter Boyle
645120a400 Merge pull request #14 from mspraggs/master
Removed std::string calls from NerscIO map indexing
2015-06-09 10:31:52 +01:00
Peter Boyle
d8ddec86f7 Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Make.inc
2015-06-09 10:27:10 +01: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
506dfd1517 Some unary ops and coarse grid support 2015-06-09 10:26:19 +01:00
Peter Boyle
1e5b015ee3 Some unary ops and coarse grid support 2015-06-09 10:26:19 +01:00
Peter Boyle
9269126fba Unary ops and coarse grid support 2015-06-09 10:25:29 +01:00
Peter Boyle
21e41638e5 Unary ops and coarse grid support 2015-06-09 10:25:29 +01:00
neo
6b8fe04054 Experimental support for ARM 2015-06-09 15:46:21 +09:00
neo
48bf4878c1 Experimental support for ARM 2015-06-09 15:46:21 +09:00
Peter Boyle
2f4a4489ce Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Make.inc
	tests/Make.inc
	tests/Test_remez.cc
2015-06-08 12:08:09 +01:00
Peter Boyle
3111f50f2f Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Make.inc
	tests/Make.inc
	tests/Test_remez.cc
2015-06-08 12:08:09 +01:00
Peter Boyle
9e7035f5dc Conjugate residual algorithm; some more unary functions 2015-06-08 12:04:59 +01:00
Peter Boyle
d6f1ddf99c Conjugate residual algorithm; some more unary functions 2015-06-08 12:04:59 +01:00
Peter Boyle
5bdf89e3f0 Prep for multigrid 2015-06-08 12:02:53 +01:00
Peter Boyle
5a3bc5250e Prep for multigrid 2015-06-08 12:02:53 +01:00
Peter Boyle
ea583e2e53 Prep for mgrid 2015-06-08 12:02:26 +01:00
Peter Boyle
680abafe5d Prep for mgrid 2015-06-08 12:02:26 +01:00
Azusa Yamaguchi
54aec05989 multishift conjugate gradient added and a strong test: take a diagonal
but non-identity matrix
l1 0  0  0 ....
0  l2 0  0 ....
0  0  l3 0 ...
.  .   .
.  .   .
.  .   .

And apply the multishift CG to it. Sum the poles and residues.
Insist that this be the same as the exactly taken square root
where l1,l2,l3 >= 0.
2015-06-08 11:52:44 +01:00
Azusa Yamaguchi
8688ff8b3a multishift conjugate gradient added and a strong test: take a diagonal
but non-identity matrix
l1 0  0  0 ....
0  l2 0  0 ....
0  0  l3 0 ...
.  .   .
.  .   .
.  .   .

And apply the multishift CG to it. Sum the poles and residues.
Insist that this be the same as the exactly taken square root
where l1,l2,l3 >= 0.
2015-06-08 11:52:44 +01:00
Matt Spraggs
7537a2751d Removed std::string calls from NerscIO map indexing 2015-06-07 17:06:25 +01:00
Matt Spraggs
cff84f09ba Removed std::string calls from NerscIO map indexing 2015-06-07 17:06:25 +01:00
Peter Boyle
50e8b2160e Conjugate residual added 2015-06-05 18:16:25 +01:00
Peter Boyle
1a05882d7c Conjugate residual added 2015-06-05 18:16:25 +01:00
Azusa Yamaguchi
ad18df92d0 Compile fix 2015-06-05 10:29:42 +01:00
Azusa Yamaguchi
351c2905f5 Compile fix 2015-06-05 10:29:42 +01:00
Azusa Yamaguchi
d86c248d05 Fix 2015-06-05 10:21:28 +01:00
Azusa Yamaguchi
33803a3dee Fix 2015-06-05 10:21:28 +01:00
Azusa Yamaguchi
1d7f9567ee Endif terminated 2015-06-05 10:19:42 +01:00
Azusa Yamaguchi
ee3031c914 Endif terminated 2015-06-05 10:19:42 +01:00
Peter Boyle
f3e60a9feb Rework the linop support to get different forms of red black schur solver
Moo on diag, or MooInv Moe MeeInv Meo
2015-06-05 10:17:10 +01:00
Peter Boyle
7f6304fac3 Rework the linop support to get different forms of red black schur solver
Moo on diag, or MooInv Moe MeeInv Meo
2015-06-05 10:17:10 +01:00
Azusa Yamaguchi
a8b86e747b merge to the head 2015-06-05 10:15:31 +01:00
Azusa Yamaguchi
58a4f32298 merge to the head 2015-06-05 10:15:31 +01:00
Azusa Yamaguchi
c05fe2706c Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-05 10:04:46 +01:00
Azusa Yamaguchi
ac504bea6c Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-05 10:04:46 +01:00
Azusa Yamaguchi
58cdcbb5e4 Adding some wilson loop support 2015-06-05 10:02:36 +01:00
Azusa Yamaguchi
94ea84d83f Adding some wilson loop support 2015-06-05 10:02:36 +01:00
Peter Boyle
cadd4310f6 comment improvement 2015-06-05 05:31:27 +01:00
Peter Boyle
b1b412f63c comment improvement 2015-06-05 05:31:27 +01:00
Peter Boyle
b9e9777912 PartialFraction Hw with Zolo and Tanh approx converged under CG and passed EO breakdown
and hermiticity tests.
2015-06-04 13:28:37 +01:00
Peter Boyle
63a61fcc2a PartialFraction Hw with Zolo and Tanh approx converged under CG and passed EO breakdown
and hermiticity tests.
2015-06-04 13:28:37 +01:00
neo
769b27b7f2 Corrected small compilation bug in traceIndex for iVectors 2015-06-04 19:01:43 +09:00
neo
b306730a57 Corrected small compilation bug in traceIndex for iVectors 2015-06-04 19:01:43 +09:00
neo
4dcc5dab93 Merge remote-tracking branch 'upstream/master' 2015-06-04 18:30:29 +09:00
neo
b3f871717f Merge remote-tracking branch 'upstream/master' 2015-06-04 18:30:29 +09:00
neo
7fc54fc904 Added support for Ta to Lattice types 2015-06-04 18:29:55 +09:00
neo
4b114fce3d Added support for Ta to Lattice types 2015-06-04 18:29:55 +09:00
neo
b9edadc53e Addedd Ta functionality to the tensor types
Merge remote-tracking branch 'upstream/master'

Conflicts:
	configure
2015-06-04 18:11:32 +09:00
neo
3055d2cf2c Addedd Ta functionality to the tensor types
Merge remote-tracking branch 'upstream/master'

Conflicts:
	configure
2015-06-04 18:11:32 +09:00
Peter Boyle
201d6d097d Allow traceIndex on a different index to distribute replicated across a vector index 2015-06-04 09:41:16 +01:00
Peter Boyle
4a03054ef4 Allow traceIndex on a different index to distribute replicated across a vector index 2015-06-04 09:41:16 +01:00
neo
ff9340d4d5 Small modification to the configure files 2015-06-04 14:17:58 +09:00
neo
5a5ee83d28 Small modification to the configure files 2015-06-04 14:17:58 +09:00
Peter Boyle
37aa74dfd2 CG Tests work for wilson kernel cont frac zolo and tanh 2015-06-04 06:02:00 +01:00
Peter Boyle
dd1f5dd966 CG Tests work for wilson kernel cont frac zolo and tanh 2015-06-04 06:02:00 +01:00
Peter Boyle
c327019574 Implementing the Hw kernel continued fraction 5d overlap cases 2015-06-04 00:23:16 +01:00
Peter Boyle
a088a65656 Implementing the Hw kernel continued fraction 5d overlap cases 2015-06-04 00:23:16 +01:00
Peter Boyle
50bd293527 First pass at continued fraction; solver and even odd decomposition tests pass.
Have to make ContFrac class virtual and derive end non-abstract actions for the particular
cases.
2015-06-04 00:00:45 +01:00
Peter Boyle
03f4fde468 First pass at continued fraction; solver and even odd decomposition tests pass.
Have to make ContFrac class virtual and derive end non-abstract actions for the particular
cases.
2015-06-04 00:00:45 +01:00
Peter Boyle
eaa3e6aaf6 Assist for generating file lists contained in Make.inc files for convenience when things are added 2015-06-03 13:07:00 +01:00
Peter Boyle
f07a17ba2c Assist for generating file lists contained in Make.inc files for convenience when things are added 2015-06-03 13:07:00 +01:00
Peter Boyle
4ef11d96e9 Make.inc needed in repo 2015-06-03 12:49:36 +01:00
Peter Boyle
3cfea5a09f Make.inc needed in repo 2015-06-03 12:49:36 +01:00
Peter Boyle
4bcc319e11 Reorganise of file naming 2015-06-03 12:47:05 +01:00
Peter Boyle
1d0df449e8 Reorganise of file naming 2015-06-03 12:47:05 +01:00
Peter Boyle
8fe3d4f971 Overlap Wilson Cayley tanh & zolo 2015-06-03 11:26:54 +01:00
Peter Boyle
a3b599ae30 Overlap Wilson Cayley tanh & zolo 2015-06-03 11:26:54 +01:00
Peter Boyle
343d039b37 Scaled Shamir and Scaled Shamir Zolotarev aliases for special cases of Mobius. 2015-06-03 09:51:06 +01:00
Peter Boyle
260011670e Scaled Shamir and Scaled Shamir Zolotarev aliases for special cases of Mobius. 2015-06-03 09:51:06 +01:00
Peter Boyle
5916386242 Mobius Caley form, Mobius Zolotarev operators. Pass Even Odd vs unprec test and hermiticity checks
in tests/Grid_any_evenodd.cc; will work on inversion tests shortly.
2015-06-03 09:36:26 +01:00
Peter Boyle
1fcacef239 Mobius Caley form, Mobius Zolotarev operators. Pass Even Odd vs unprec test and hermiticity checks
in tests/Grid_any_evenodd.cc; will work on inversion tests shortly.
2015-06-03 09:36:26 +01:00
Peter Boyle
2583570e17 Domain wall fermions now invert ; have the basis set up for
Tanh/Zolo * (Cayley/PartFrac/ContFrac) * (Mobius/Shamir/Wilson)
Approx        Representation               Kernel.

All are done with space-time taking part in checkerboarding, Ls uncheckerboarded

Have only so far tested the Domain Wall limit of mobius, and at that only checked
that it
i)  Inverts
ii) 5dim DW == Ls copies of 4dim D2
iii) MeeInv Mee == 1
iv) Meo+Mee+Moe+Moo == M unprec.
v) MpcDagMpc is hermitan
vi) Mdag is the adjoint of M between stochastic vectors.

That said, the RB schur solve, RB MpcDagMpc solve, Unprec solve
all converge and the true residual becomes small; so pretty good tests.
2015-06-02 16:57:12 +01:00
Peter Boyle
3845f267cb Domain wall fermions now invert ; have the basis set up for
Tanh/Zolo * (Cayley/PartFrac/ContFrac) * (Mobius/Shamir/Wilson)
Approx        Representation               Kernel.

All are done with space-time taking part in checkerboarding, Ls uncheckerboarded

Have only so far tested the Domain Wall limit of mobius, and at that only checked
that it
i)  Inverts
ii) 5dim DW == Ls copies of 4dim D2
iii) MeeInv Mee == 1
iv) Meo+Mee+Moe+Moo == M unprec.
v) MpcDagMpc is hermitan
vi) Mdag is the adjoint of M between stochastic vectors.

That said, the RB schur solve, RB MpcDagMpc solve, Unprec solve
all converge and the true residual becomes small; so pretty good tests.
2015-06-02 16:57:12 +01:00
Azusa Yamaguchi
8bd9fb4427 FIx miistake 2015-06-01 12:26:20 +01:00
Azusa Yamaguchi
c851d0e705 FIx miistake 2015-06-01 12:26:20 +01:00
Azusa Yamaguchi
4c617c3643 Const safety 2015-06-01 12:25:59 +01:00
Azusa Yamaguchi
b00a40dd65 Const safety 2015-06-01 12:25:59 +01:00
Azusa Yamaguchi
9ea64767b0 No compile fix on mpi target 2015-05-31 22:50:03 +01:00
Azusa Yamaguchi
12c2562b96 No compile fix on mpi target 2015-05-31 22:50:03 +01:00
azusayamaguchi
ce8c7a77b6 Bug in Makefile.am fixed 2015-05-31 18:50:08 +01:00
azusayamaguchi
f2c70804ca Bug in Makefile.am fixed 2015-05-31 18:50:08 +01:00
Peter Boyle
a75b6f6e78 Large scale change to support 5d fermion formulations.
Have 5d replicated wilson with 4d gauge working and matrix regressing
to Ls copies of wilson.
2015-05-31 15:09:02 +01:00
Peter Boyle
5644ab1e19 Large scale change to support 5d fermion formulations.
Have 5d replicated wilson with 4d gauge working and matrix regressing
to Ls copies of wilson.
2015-05-31 15:09:02 +01:00
neo
575e6001f3 Merge remote-tracking branch 'upstream/master' 2015-05-29 11:41:39 +09:00
neo
727bc32150 Merge remote-tracking branch 'upstream/master' 2015-05-29 11:41:39 +09:00
Peter Boyle
445e38acf6 Weak scale the benchmarks automatically. 2015-05-28 13:47:01 +01:00
Peter Boyle
67fa5691e5 Weak scale the benchmarks automatically. 2015-05-28 13:47:01 +01:00
Peter Boyle
a5c3424cfb Works now with Clang-avx, Clang-sse and ICPC-avx, ICPC-sse 2015-05-28 11:35:43 +01: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
e8be96bfe7 Improving the reduction to go through our on permute.
Must also do this for avx512
2015-05-27 16:07:17 +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
be66fdcfab Check at configure time if CPU supports the requested SIMD optimization 2015-05-27 18:30:11 +09:00
neo
19bd6f103a Check at configure time if CPU supports the requested SIMD optimization 2015-05-27 18:30:11 +09:00
neo
28ac219d81 Included Gpermute in the new Grid_simd.h file style.
Now tested for SSE4. OK
2015-05-27 12:11:44 +09: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
neo
4e3f4104ab Added a .gitignore file to eliminate autoconf files from commits 2015-05-27 11:10:51 +09:00
neo
3cb34af82c Added a .gitignore file to eliminate autoconf files from commits 2015-05-27 11:10:51 +09:00
Guido Cossu
2ccbff6c6c Corrected AVX regression error. Tested. 2015-05-27 10:49:33 +09:00
Guido Cossu
8abf6403d5 Corrected AVX regression error. Tested. 2015-05-27 10:49:33 +09:00
neo
9344d41ac5 Merge remote-tracking branch 'upstream/master'
Conflicts:
	Makefile.in
2015-05-27 10:41:33 +09:00
neo
b99f2279c3 Merge remote-tracking branch 'upstream/master'
Conflicts:
	Makefile.in
2015-05-27 10:41:33 +09:00
neo
538bc41bbb Adding support for doxygen generation 2015-05-27 10:34:56 +09:00
neo
da46b56e85 Adding support for doxygen generation 2015-05-27 10:34:56 +09:00
Peter Boyle
6d2e056187 Simd revert to Guido's commit. I edited concurrently and things went bad. 2015-05-26 22:20:09 +01:00
Peter Boyle
ccd47011b9 Simd revert to Guido's commit. I edited concurrently and things went bad. 2015-05-26 22:20:09 +01:00
Peter Boyle
fb37b57c2d Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Grid_simd.h
2015-05-26 20:04:08 +01:00
Peter Boyle
48bb3ab4e7 Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Grid_simd.h
2015-05-26 20:04:08 +01:00
Peter Boyle
5e72e4c0d9 Strip out the dslash kernel implementation 2015-05-26 19:55:18 +01:00
Peter Boyle
bfb1cd36e2 Strip out the dslash kernel implementation 2015-05-26 19:55:18 +01:00
Peter Boyle
a32ac287bb Hand unrolled version of dslash in a separate class.
Useful to compare; raises Intel compiler from 9GFlop/s to 17.5 Gflops.
                   on ivybridge core. Raises Clang form 14.5 to 17.5
2015-05-26 19:54:03 +01:00
Peter Boyle
840754dd42 Hand unrolled version of dslash in a separate class.
Useful to compare; raises Intel compiler from 9GFlop/s to 17.5 Gflops.
                   on ivybridge core. Raises Clang form 14.5 to 17.5
2015-05-26 19:54:03 +01:00
neo
fb5d72973e More cleanup of Grid_simd.h 2015-05-26 13:54:34 +09:00
neo
500f6ed0c5 More cleanup of Grid_simd.h 2015-05-26 13:54:34 +09:00
neo
3f576830f9 Cleaning up simd files 2015-05-26 13:31:10 +09:00
neo
4dbaa389c8 Cleaning up simd files 2015-05-26 13:31:10 +09:00
neo
257aa92421 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
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
ece86f717b checked performance of new vector libaries.
Added check for c++11 support on the configure.ac
2015-05-26 12:02:54 +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
2ae6214104 Schur complement based red-black inversion working 2015-05-25 13:47:12 +01:00
Peter Boyle
489b1b9633 Schur complement based red-black inversion working 2015-05-25 13:47:12 +01:00
Peter Boyle
1a9841a0f1 Better EO support letting Schur solver work 2015-05-25 13:46:28 +01:00
Peter Boyle
ea3240ad55 Better EO support letting Schur solver work 2015-05-25 13:46:28 +01:00
Peter Boyle
55685b7cf5 Most cosmetic 2015-05-25 13:45:32 +01:00
Peter Boyle
956e728b40 Most cosmetic 2015-05-25 13:45:32 +01:00
Peter Boyle
3358a77c7a Better checkerboard tracking. 2015-05-25 13:45:08 +01:00
Peter Boyle
94d679c4e6 Better checkerboard tracking. 2015-05-25 13:45:08 +01:00
Peter Boyle
bc947477f3 move constants into red black 2015-05-25 13:44:35 +01:00
Peter Boyle
616f871735 move constants into red black 2015-05-25 13:44:35 +01:00
Peter Boyle
29f72292ba Updates now schur red black solver working 2015-05-25 13:43:58 +01:00
Peter Boyle
624c0ac3ef Updates now schur red black solver working 2015-05-25 13:43:58 +01:00
Peter Boyle
9b5633ff4f Herm op 2015-05-25 13:42:36 +01:00
Peter Boyle
ac99832d21 Herm op 2015-05-25 13:42:36 +01:00
Peter Boyle
17a06af1ff red black fix 2015-05-25 13:42:12 +01:00
Peter Boyle
d30c013721 red black fix 2015-05-25 13:42:12 +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
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
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
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
764732944f Cosmetic 2015-05-23 09:31:15 +01:00
Peter Boyle
33737ef57a Cosmetic 2015-05-23 09:31:15 +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
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
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
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
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
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
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
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
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
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
46ab8edf30 Optimisation... 2015-05-19 15:50:47 +01:00
Peter Boyle
8220794c44 Optimisation... 2015-05-19 15:50:47 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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