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
54b56959f5
Convenience script to build the list of headers and .cc files in the library
2015-06-03 12:47:46 +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
2b083ca987
CG test written and passes i.e. converges with small true residual
...
in RedBlack MpcDagMpc, Unprec MdagM and Schur red black solver for
each of.
DomainWallFermion
MobiusFermion
MobiusZolotarevFermion
ScaledShamirFermion
ScaledShamirZolotarevFermion
2015-06-03 10:54:03 +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
494d2b8b61
Reorg; moving prec/unprec/schur CG for Wilson and DWF into tests as these are really tests and not benchmarks
...
(no performance reports, only convergence test).
2015-06-02 17:25: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
Peter Boyle
6f725748ed
Updated line counter
2015-05-31 15:11:09 +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
Peter Boyle
8c357dca8b
Integer wrap problem fixed.
2015-05-29 14:11:34 +01: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
Peter Boyle
e468d75286
Auto gen files should never have been committed, but making everyone run
...
aclocal, automake, autoconf is a pain in the ass.
2015-05-26 22:20:40 +01: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
Peter Boyle
c2ffb1a098
Makefile update
2015-05-25 14:43:08 +01: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
Peter Boyle
55ad54e0ff
Updates now schur red black solver working
2015-05-25 13:43:58 +01:00
Peter Boyle
00ee531005
Herm op
2015-05-25 13:42:36 +01:00
Peter Boyle
ca30116144
red black fix
2015-05-25 13:42:12 +01:00
Peter Boyle
41ba13f951
Merge branch 'master' of https://github.com/paboyle/Grid
2015-05-23 09:36:08 +01:00
Peter Boyle
31a40fa37f
Added
2015-05-23 09:36:01 +01:00
Peter Boyle
602248d5fe
Extra targets
2015-05-23 09:35:37 +01:00
Peter Boyle
2ba641b25e
More targets
2015-05-23 09:34:50 +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
0b165afd9e
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
8c7b5f5d3b
Cosmetic
2015-05-23 09:31:15 +01:00
Peter Boyle
be8b4f89d6
Iterator required
2015-05-23 09:30:28 +01:00
Peter Boyle
a11850d2fb
Merge pull request #7 from coppolachan/master
...
Added full support for SSE4
2015-05-22 05:58:59 +01:00
Peter Boyle
e0cc5ba920
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
ac0941be9a
adding two routines containing only a single operation so I can easily see the assembly dump
2015-05-21 06:37:46 +01:00
Peter Boyle
fb159e1cff
Minor change
2015-05-21 06:37:20 +01:00
Peter Boyle
8bc0033326
useful to dump assembler
2015-05-21 06:36:47 +01:00
Peter Boyle
db786fac13
Didn't like a print statement
2015-05-21 06:36:15 +01:00
Peter Boyle
046485a7bb
better comms benchmarking
2015-05-21 06:35:46 +01:00
Peter Boyle
9058135da0
Unroll pragma abstraction
2015-05-21 06:34:33 +01: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
91ed085ca4
Build a simple kernel to compare intel compiler and clang in simple environment
2015-05-19 21:29:40 +01:00
Peter Boyle
efc0d1e0b9
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
b520694b00
Merge branch 'coppolachan-master'
2015-05-19 15:05:32 +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
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
6f387b4916
Merge branch 'coppolachan-master'
2015-05-18 16:36:58 +01:00
Peter Boyle
9bfe0e63f4
lib/algorithms/approx/bigfloat.h
2015-05-18 16:35:48 +01: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
6f038a7f6d
Convience function
2015-05-18 16:28:29 +01:00
Peter Boyle
193fd5532f
Remez tested
2015-05-18 12:09:25 +01: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
6eb8dfd902
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
cf99a1f37d
Better build automation
2015-05-16 07:16:45 +01:00
Peter Boyle
deac65a92d
Merge branch 'master' of https://github.com/paboyle/Grid
2015-05-16 06:42:03 +01:00
Peter Boyle
f6e54a7bd4
Moved things around
2015-05-16 06:40:10 +01:00
Peter Boyle
53260e7a39
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
b731bf6976
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
25bfa7e830
more digits
2015-05-16 04:33:40 +01:00
Peter Boyle
afda459886
strong inline
2015-05-16 04:33:10 +01:00
Peter Boyle
c43869a83a
Extra compile targs
2015-05-15 14:41:59 +01:00
Peter Boyle
87bc17831d
Added su3 matrix benchmark.
2015-05-15 14:41:19 +01:00
Peter Boyle
76cbcff2f1
Log the bug report code into the git repo.
2015-05-15 12:39:53 +01:00
Peter Boyle
f43589369a
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
de0c199604
Convenience multi-compiler build with out of source compile
2015-05-15 12:21:10 +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
bc3889ffa1
Remove debug masking
2015-05-15 11:51:15 +01:00
Peter Boyle
180b06d7e3
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
6bba16ccf7
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
e3b61bdfce
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
3e3a8dc0c0
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
8c59605e05
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
5d8303e94d
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
e58cc72fe5
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
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
4cee0e8653
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
cf27f22dc0
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