Peter Boyle
8fe3d4f971
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
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
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
Azusa Yamaguchi
8bd9fb4427
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
9ea64767b0
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
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
neo
575e6001f3
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
a5c3424cfb
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
neo
be66fdcfab
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
4e3f4104ab
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
neo
9344d41ac5
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
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
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
5e72e4c0d9
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
neo
fb5d72973e
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
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
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
Peter Boyle
2ae6214104
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
55685b7cf5
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
bc947477f3
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
9b5633ff4f
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
c25016030c
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
d07a5c084d
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
764732944f
Cosmetic
2015-05-23 09:31:15 +01:00
Peter Boyle
ae58a9ada2
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
Peter Boyle
d8061afe24
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
57a01e6bbb
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
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
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
Peter Boyle
dc4014668d
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
46ab8edf30
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
azusayamaguchi
a4b3bc7714
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
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
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
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
b5af3fbe45
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
2843264bd8
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
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
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
8e99e4671f
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
39e7ef1243
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
1247d7aea8
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
49f56a25d1
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
a98f3e0f5e
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
254dee6ac7
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
9a120cf5ec
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
0e7945fe54
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
a852d13f03
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
af6e8f7829
Force inlining on ICPC because inline apparently is not enoguh
2015-05-15 11:41:31 +01:00
Peter Boyle
cbfa4097b4
strong_inline forces ICPC to do it.
2015-05-15 11:40:59 +01:00
Peter Boyle
8c40dd9c4f
Force strong_inline to force ipcc's hand
2015-05-15 11:40:31 +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
adc4f86020
Promote to strong inline to force ICPC's hand. Annoying.
2015-05-15 11:39:25 +01:00
Peter Boyle
5b46992a15
Formatting change
2015-05-15 11:38:54 +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
c28551f40f
Silly formatting change
2015-05-15 11:37:07 +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
051b23fe10
ICPC and GCC5 fixes
2015-05-15 11:35:02 +01:00
Peter Boyle
4e462209c7
Using boolean logic inside enable_if is more elegant
2015-05-15 11:32:45 +01:00
Peter Boyle
8d1b26dd4b
Key of mm_malloc.h
2015-05-15 11:32:11 +01:00
Peter Boyle
cc6218a692
strong inline required to force icpc
2015-05-15 11:31:41 +01:00
Peter Boyle
5166888c0a
Linear op added
2015-05-13 11:25:34 +01:00
Peter Boyle
0097b81778
OMP dslash working
2015-05-13 10:59:22 +01:00
Peter Boyle
add4495a4a
cout IO for all types
2015-05-13 09:24:10 +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
556befaaaa
Enhanced SIMD interfacing
2015-05-12 20:41:44 +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