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
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
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
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
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
db786fac13
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
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
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
Peter Boyle
8fdff33b3a
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
2d8b5a8191
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
azusayamaguchi
ee8cf77071
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
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
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
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
d6887beead
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
193fd5532f
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
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
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
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
afda459886
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
c99922b591
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
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
Peter Boyle
1771f97551
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
43bdbb5080
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
d388b831b4
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
52174da232
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
8b765be2b1
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
ebcb87abe1
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
Peter Boyle
242e447bc5
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
c946e77143
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
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
58d32a4d0e
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
8299bc39ea
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
5415180676
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
cb4b82b09f
streaming store cases
2015-05-05 18:14:09 +01:00