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

286 Commits

Author SHA1 Message Date
Azusa Yamaguchi
459ce22bb3 WHere should always have precisely matching types in ET system 2015-06-14 01:07:58 +01:00
Azusa Yamaguchi
694dac7ff5 Where and many other functions (sin cos abs log exp) into ET system 2015-06-14 01:07:25 +01:00
Azusa Yamaguchi
c54299107a Cosmetic 2015-06-14 01:06:56 +01:00
Azusa Yamaguchi
fe1d8a9dd1 real comps and expression comps 2015-06-14 01:05:57 +01:00
Azusa Yamaguchi
c93c0edcd9 Allow real comparisons and expressions in comparisons 2015-06-14 01:05:39 +01:00
Azusa Yamaguchi
9bdef0888e Allow sparse occupation of vectors in some cases 2015-06-14 01:05:06 +01:00
Azusa Yamaguchi
f8f4b8a249 Moving more into the ET system 2015-06-14 01:04:32 +01:00
Azusa Yamaguchi
8bafe067eb trying to find a way to remove functions from the ET system using explicit
expression closure statements. Not sure if this works yet
2015-06-14 01:03:28 +01:00
Azusa Yamaguchi
53ba8d4926 Transpose always returns self image 2015-06-14 01:02:31 +01:00
Azusa Yamaguchi
ddd93a0576 Extra lattice unaries 2015-06-14 01:01:55 +01:00
Azusa Yamaguchi
ae2dcfc173 Moving where in to the expression template system; deprecate 2015-06-14 01:01:21 +01:00
Azusa Yamaguchi
e529dd9696 Peek poke colour/spin/complex and trace transpose support 2015-06-14 01:00:11 +01:00
Azusa Yamaguchi
610450bc0e const safety 2015-06-14 00:59:50 +01:00
Azusa Yamaguchi
2ba72a91de Binop assist and real/complex improvements 2015-06-14 00:59:07 +01:00
Azusa Yamaguchi
4cf04c8583 More functions broken out into element by element 2015-06-14 00:58:14 +01:00
Azusa Yamaguchi
56d120cb24 typo fix -- remove extra template arg 2015-06-14 00:57:23 +01:00
Azusa Yamaguchi
1dc8dfd3ae Logical ops element by element 2015-06-14 00:56:40 +01:00
Azusa Yamaguchi
f2dafbc4f7 Real complex improved 2015-06-14 00:56:08 +01:00
Azusa Yamaguchi
9c810200e0 Handle case of simd_layout not filling whole vector.
Useful if real complex live on same grid
2015-06-14 00:55:21 +01:00
Azusa Yamaguchi
6d6e9a5811 Real/Complex improvements 2015-06-14 00:54:18 +01:00
Azusa Yamaguchi
2949e5feca Real handling improvement 2015-06-14 00:53:52 +01:00
Azusa Yamaguchi
96a55c17f1 Unary funcs update 2015-06-14 00:53:18 +01:00
Azusa Yamaguchi
19ff065844 fix no compile 2015-06-14 00:48:41 +01:00
Peter Boyle
0ad72b38ab file list 2015-06-10 12:25:15 +01:00
Azusa Yamaguchi
e3b4dd32c0 commit file list 2015-06-10 11:26:46 +01:00
neo
f3dd829459 Adding several iMatrix utilities 2015-06-10 14:16:33 +09:00
Peter Boyle
e79a57b423 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
2022a7205c Remove extra layers of checks now it works 2015-06-09 22:43:41 +01:00
Peter Boyle
4963f7356a 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
708d4f7533 g5 and g5R5 hermitian are now differentiated 2015-06-09 22:40:58 +01:00
Peter Boyle
1f2498918d Got this sorted with the promote working in a test 2015-06-09 22:39:13 +01:00
Peter Boyle
25bfff370a Starting to use 2015-06-09 22:38:13 +01:00
Peter Boyle
6403e3021f Debugged finally. A silly mistake in permute cost me a day of debug. 2015-06-09 22:37:21 +01:00
neo
f8eb862073 Merge remote-tracking branch 'upstream/master' 2015-06-09 19:01:07 +09:00
neo
99ace0a89c Adding support for iMatrix exponentiation 2015-06-09 18:59:45 +09:00
Peter Boyle
64e2f36d40 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
e8b43944e7 Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Make.inc
2015-06-09 10:27:10 +01:00
Peter Boyle
1048304f30 Some unary ops and coarse grid support 2015-06-09 10:26:19 +01:00
Peter Boyle
f19518d564 Unary ops and coarse grid support 2015-06-09 10:25:29 +01:00
neo
744ac33e8b Experimental support for ARM 2015-06-09 15:46:21 +09:00
Peter Boyle
98b10f587e 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
b0873e7ed2 Conjugate residual algorithm; some more unary functions 2015-06-08 12:04:59 +01:00
Peter Boyle
42c22d4cae Prep for multigrid 2015-06-08 12:02:53 +01:00
Peter Boyle
aad51ffe3a Prep for mgrid 2015-06-08 12:02:26 +01:00
Azusa Yamaguchi
a8b9109cc8 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
e2e076d307 Removed std::string calls from NerscIO map indexing 2015-06-07 17:06:25 +01:00
Peter Boyle
a263e78f8d Conjugate residual added 2015-06-05 18:16:25 +01:00
Azusa Yamaguchi
5f33cc3a95 Compile fix 2015-06-05 10:29:42 +01:00
Azusa Yamaguchi
bb36139fc2 Fix 2015-06-05 10:21:28 +01:00
Azusa Yamaguchi
cc5f518b21 Endif terminated 2015-06-05 10:19:42 +01:00
Peter Boyle
337b6e83af 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
8f9627520b merge to the head 2015-06-05 10:15:31 +01:00
Azusa Yamaguchi
db84b19443 Merge branch 'master' of https://github.com/paboyle/Grid 2015-06-05 10:04:46 +01:00
Azusa Yamaguchi
7d984b9547 Adding some wilson loop support 2015-06-05 10:02:36 +01:00
Peter Boyle
f22170ad49 comment improvement 2015-06-05 05:31:27 +01:00
Peter Boyle
7678fbd30d 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
7e47b0c6eb Corrected small compilation bug in traceIndex for iVectors 2015-06-04 19:01:43 +09:00
neo
41e88c232b Merge remote-tracking branch 'upstream/master' 2015-06-04 18:30:29 +09:00
neo
949b6a7afa Added support for Ta to Lattice types 2015-06-04 18:29:55 +09:00
neo
bb73569fd6 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
54c082dc35 Allow traceIndex on a different index to distribute replicated across a vector index 2015-06-04 09:41:16 +01:00
neo
c6f2ee91f6 Small modification to the configure files 2015-06-04 14:17:58 +09:00
Peter Boyle
9c1ab656d4 CG Tests work for wilson kernel cont frac zolo and tanh 2015-06-04 06:02:00 +01:00
Peter Boyle
1ad689e4d5 Implementing the Hw kernel continued fraction 5d overlap cases 2015-06-04 00:23:16 +01:00
Peter Boyle
802e94e9ca 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
e68d087010 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
3254bb2c8e Make.inc needed in repo 2015-06-03 12:49:36 +01:00
Peter Boyle
f9b070d64d Reorganise of file naming 2015-06-03 12:47:05 +01:00
Peter Boyle
6cb38dc5dc Overlap Wilson Cayley tanh & zolo 2015-06-03 11:26:54 +01:00
Peter Boyle
c659c76053 Scaled Shamir and Scaled Shamir Zolotarev aliases for special cases of Mobius. 2015-06-03 09:51:06 +01:00
Peter Boyle
68e26140ee 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
0bc004de7c 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
8f87950dc1 FIx miistake 2015-06-01 12:26:20 +01:00
Azusa Yamaguchi
00bf7f4d42 Const safety 2015-06-01 12:25:59 +01:00
Azusa Yamaguchi
eb28a64c3c No compile fix on mpi target 2015-05-31 22:50:03 +01:00
azusayamaguchi
328aa9ae49 Bug in Makefile.am fixed 2015-05-31 18:50:08 +01:00
Peter Boyle
66d997e031 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
661c7e3e37 Merge remote-tracking branch 'upstream/master' 2015-05-29 11:41:39 +09:00
Peter Boyle
62dccb3247 Weak scale the benchmarks automatically. 2015-05-28 13:47:01 +01:00
Peter Boyle
c0c1ebe757 Works now with Clang-avx, Clang-sse and ICPC-avx, ICPC-sse 2015-05-28 11:35:43 +01:00
Peter Boyle
bd81ac0f17 Improving the reduction to go through our on permute.
Must also do this for avx512
2015-05-27 16:07:17 +01:00
neo
d8b05e001d Check at configure time if CPU supports the requested SIMD optimization 2015-05-27 18:30:11 +09:00
neo
9fd6506d1f Included Gpermute in the new Grid_simd.h file style.
Now tested for SSE4. OK
2015-05-27 12:11:44 +09:00
neo
75442e48ce Added a .gitignore file to eliminate autoconf files from commits 2015-05-27 11:10:51 +09:00
Guido Cossu
26ec41288d Corrected AVX regression error. Tested. 2015-05-27 10:49:33 +09:00
neo
13707e0808 Merge remote-tracking branch 'upstream/master'
Conflicts:
	Makefile.in
2015-05-27 10:41:33 +09:00
neo
12ae11ef62 Adding support for doxygen generation 2015-05-27 10:34:56 +09:00
Peter Boyle
22d073eb2b Simd revert to Guido's commit. I edited concurrently and things went bad. 2015-05-26 22:20:09 +01:00
Peter Boyle
ccf10a973a Merge branch 'master' of https://github.com/paboyle/Grid
Conflicts:
	lib/Grid_simd.h
2015-05-26 20:04:08 +01:00
Peter Boyle
6ef0096dc9 Strip out the dslash kernel implementation 2015-05-26 19:55:18 +01:00
Peter Boyle
20100d0a40 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
c04cad92ac More cleanup of Grid_simd.h 2015-05-26 13:54:34 +09:00
neo
aff978f60a Cleaning up simd files 2015-05-26 13:31:10 +09:00
neo
9ad6d0c65f 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
377083e6ae 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
d7f5172860 Schur complement based red-black inversion working 2015-05-25 13:47:12 +01:00
Peter Boyle
201a110c51 Better EO support letting Schur solver work 2015-05-25 13:46:28 +01:00
Peter Boyle
1d4b1c48cc Most cosmetic 2015-05-25 13:45:32 +01:00
Peter Boyle
f6cade41b4 Better checkerboard tracking. 2015-05-25 13:45:08 +01:00
Peter Boyle
6e76f0c6cd move constants into red black 2015-05-25 13:44:35 +01:00