17f9268a55
XmlIO: minor code cleaning
2015-12-07 18:30:00 +00:00
78f0c2595d
autotool file accidentally committed
2015-12-07 18:28:06 +00:00
paboyle
93356fd246
No compile fixes on gcc/Cray
2015-11-29 03:14:44 -08:00
paboyle
ca42fe6d32
Merge branch 'master' of github.com:paboyle/Grid
...
Merge done
Conflicts:
lib/serialisation/XmlIO.h
tests/Test_stencil.cc
2015-11-28 17:03:43 -08:00
paboyle
6b97b271ae
Integer divide useful
2015-11-28 17:01:20 -08:00
paboyle
fa01ae5980
integer divide
2015-11-28 17:00:34 -08:00
paboyle
113131b01c
THis failed for some reason. Suspect Antonin has made more progress.
2015-11-28 16:59:59 -08:00
paboyle
b2c02a6106
Runs fastst on cori
2015-11-28 16:58:16 -08:00
paboyle
02d730513a
Divide function
2015-11-28 16:54:43 -08:00
paboyle
d875c2bd39
More verbose useful
2015-11-28 16:54:19 -08:00
paboyle
cc32ba615a
Verbose changes
2015-11-28 16:53:54 -08:00
paboyle
6684739452
Better to drop KMP_AFFINITY override
2015-11-28 16:52:44 -08:00
Peter Boyle
bc4b252883
Merge branch 'master' of https://github.com/paboyle/Grid
2015-11-29 00:33:01 +00:00
Peter Boyle
11cf0f08f3
This file is not yet debugged.
2015-11-29 00:32:45 +00:00
Peter Boyle
8a33846095
No compile fix
2015-11-29 00:29:58 +00:00
Peter Boyle
54f04ee5c9
Perf event interface was linux specfic and use ifdef to protect
2015-11-29 00:24:48 +00:00
Peter Boyle
825875fd48
compile fixes
2015-11-29 00:24:25 +00:00
Peter Boyle
f8290bfd58
Compile fixes
2015-11-29 00:24:04 +00:00
Azusa Yamaguchi
967be91692
update merge
2015-11-26 09:51:41 +00:00
06f8ecea04
Merge commit '899ca41cb8c8f47771bfd37cd895cbc2184e5560'
2015-11-16 18:16:25 +00:00
af19118113
new I/O interface
2015-11-16 18:14:37 +00:00
paboyle
e9ff25b06b
Small threading change makes a difference on Cori.
2015-11-07 00:07:05 -08:00
paboyle
05a7029600
Stencil change
2015-11-07 00:06:31 -08:00
paboyle
b04b8914fd
EXECINFO change
2015-11-07 00:05:57 -08:00
paboyle
899ca41cb8
Merge branch 'master' of github.com:paboyle/Grid
...
Conflicts:
lib/qcd/action/fermion/WilsonFermion5D.cc
2015-11-06 03:50:04 -08:00
paboyle
d29b4c1dee
Assembler files
2015-11-06 03:48:48 -08:00
paboyle
a2ff068e29
Asm and threading for many core
2015-11-06 03:47:14 -08:00
paboyle
b362f8d27b
Threading for many core
2015-11-06 03:46:41 -08:00
paboyle
64770d9052
Threading changes for many core and asm calls
2015-11-06 03:46:21 -08:00
paboyle
17af18dcab
Changes for AVX512 assembler
2015-11-06 03:45:51 -08:00
Peter Boyle
28022755ae
Stencil class name global change to StencilImpl typedef
2015-11-06 05:30:17 -06:00
Peter Boyle
955b482aaf
Partial optimisation of the extraction/merger of simd vecs.
2015-11-06 05:26:20 -06:00
Peter Boyle
f9b2fce93b
Changing whole stencil class to be template and not just single functions
2015-11-06 05:25:10 -06:00
Peter Boyle
473fa28a6c
Partial optimisation; comms in x-dir for red black dslash will be slow as the checker skipping block strided
...
loops are non threadable. Will need to write a kernel for these instead and drive them with a lookup table
to make a look sufficiently simple to thread.
2015-11-06 05:23:23 -06:00
Peter Boyle
5d854c869c
Stencil interface changes
2015-11-06 05:22:33 -06:00
Peter Boyle
880ff88362
Comms optimisation
2015-11-06 05:22:18 -06:00
Azusa Yamaguchi
4690acc3c8
Don't know why peter committed these as they didn't compile
2015-11-06 10:31:48 +00:00
Azusa Yamaguchi
3281745fde
Exec info and linux check to stop non-portable code breaking
2015-11-06 10:31:24 +00:00
paboyle
1159de165c
Asm option for AVX512
2015-11-05 22:04:51 -08:00
paboyle
16c7993434
Merge branch 'master' of github.com:paboyle/Grid
...
Conflicts:
lib/simd/Grid_avx512.h
lib/simd/Grid_imci.h
2015-11-04 03:32:10 -08:00
paboyle
6be9716e6f
New file
2015-11-04 03:26:28 -08:00
paboyle
4a41c885ed
Use Linux kernel interface to hardware performance counters. Dead useful.
2015-11-04 03:24:19 -08:00
paboyle
757b31ed42
Threading for KNC mods.
2015-11-04 03:22:14 -08:00
paboyle
ac7d1f26ad
Either blocking or lebesgue curve
2015-11-04 03:19:16 -08:00
paboyle
1a8bf938b3
Use either sub-blocking or lebesgue
2015-11-04 03:18:51 -08:00
paboyle
63a2993827
Exec info an cache blocking
2015-11-04 03:16:56 -08:00
paboyle
4e65ad21ac
Adding a routine for AVX512 / IMCI with explicit assembly implementations
2015-11-04 03:15:08 -08:00
Peter Boyle
dfc1de6f60
Merge branch 'master' of github.com:paboyle/Grid
2015-11-04 05:14:26 -06:00
Peter Boyle
3b7576ad53
Switch off for now
2015-11-04 05:13:29 -06:00
paboyle
9b5d31ffc1
mac , mult routines
...
Lines# with '#' will be ignored, and an empty message aborts the commit.
2015-11-04 03:10:34 -08:00
paboyle
a38762159c
Inline assembly hooks for AVX 512. Better way in some ways than BAGEL to generate assembly.
...
Updated Grid_avx512.h
2015-11-04 03:09:06 -08:00
Peter Boyle
ffc5dab17f
AMD FMA4 support added for Interlagos/BlueWaters
2015-11-04 04:29:58 -06:00
Peter Boyle
96608c70d1
chrono causing some problems on Cray systems. Suspend use for now
2015-11-04 04:28:31 -06:00
Peter Boyle
d35d63b171
Algorithm in
2015-11-04 04:27:44 -06:00
Peter Boyle
24044dbc56
Debugged a problem with checkerboarded cshift in the checker dimension which arose
...
only when mpi spread out in the checker dimension. Added a test that trapped and helped debug this
2015-11-04 10:00:55 +00:00
Peter Boyle
abb23df83f
formatting only
2015-11-04 10:00:27 +00:00
Peter Boyle
12c5ec813c
Useful debug messages (commented out) are included for preservation in case I need to revisit this
2015-11-04 09:59:27 +00:00
Peter Boyle
1271508ca2
Bug fix for spread out in x (EO) direction.
...
This is really annoying -- it is very hard to thread the loops with the index
recursion on buffer offset in the red-black case. Must think of a good threading
solution here.
2015-11-04 09:57:57 +00:00
Peter Boyle
ec5af35166
EO bug fix when spread out in x-direction
2015-11-04 09:56:58 +00:00
Peter Boyle
0f59356e86
Problem in comms fixed
2015-11-02 00:00:15 +00:00
8709117aea
Log: generalised Logger class to allow separate logs in Grid-based applications
2015-10-27 17:31:13 +00:00
e6b9aa9076
Config.h removed form repository
2015-10-27 10:47:07 +00:00
Peter Boyle
8889af45ca
FMA4 added
2015-10-09 01:00:53 +02:00
Peter Boyle
83afb2e26a
Poly support for lanczos
2015-10-09 00:43:21 +02:00
Peter Boyle
6d06bd9493
Minor change in commented out code
2015-10-09 00:42:21 +02:00
Peter Boyle
6ee23f409e
Lanczos addition
2015-10-09 00:41:00 +02:00
Peter Boyle
2d95dac6b6
Lanczos untested/partially tested additions. In middle of shake out but at least compiles
2015-10-09 00:40:25 +02:00
Peter Boyle
814c79f38d
SIMD improvements for mac and madd use in complex for avx, sse
2015-10-09 00:38:52 +02:00
paboyle
1878bf97d0
Babbage fix
2015-09-30 16:04:01 -07:00
paboyle
a660ce716b
No compile babbage fix
2015-09-30 16:02:44 -07:00
paboyle
f4b6d1dfea
NGO stores reenabled
2015-09-30 16:02:14 -07:00
paboyle
23813ac798
No compile on babbage fix
2015-09-30 16:01:28 -07:00
Peter Boyle
9f4f65cb46
Added a decoupled memory system benchmark to remove thread synch overhead
2015-09-26 18:23:57 -07:00
Peter Boyle
64d64d1ab6
Updating to modify non-inlining permute routines and hopefully get better reg use and
...
enhance performance.
2015-09-25 08:55:04 -07:00
Peter Boyle
5ef42add2d
Changes to remove warnings under icc; disambiguate AVX512 from IMCI correctly
...
and drop swizzles in AVX512. Don't know why these compiled.
2015-09-23 05:23:45 -07:00
Peter Boyle
2f38ebc446
Reintroducing the hand unrolled loops
2015-09-08 17:45:30 +01:00
Peter Boyle
638d6675ee
Tested rms dH is ~ dt^4 numerically, so believe the ForceGradient is correct now.
...
Paranoia makes me want to diddle with the FG step to ensure dt^2 reappears.
2015-08-31 16:33:20 +01:00
Peter Boyle
357c6ab46d
Reunitarise. Complete the HMC and integrator changes.
2015-08-31 16:32:04 +01:00
Peter Boyle
755dca9533
Added ForceGradient integrator. dH dropped so seems to work. Will only
...
believe it is right once I have pulled a dt^4 error scaling plot out.
2015-08-31 06:23:02 +01:00
Peter Boyle
29fd004d54
Unified integrator and integrator algorithm into virtual class used as a policy for the
...
HMC.
2015-08-30 13:39:19 +01:00
Peter Boyle
aa52fdadcc
Global edit on HMC sector -- making GaugeField a template parameter and
...
preparing to pass integrator, smearing, bc's as policy classes to hmc.
Propose to unify "integrator" and integrator algorithm in a base/derived
way to override step. Want to read through ForceGradient to ensure
that abstraction covers the force gradient case.
2015-08-30 12:18:34 +01:00
Peter Boyle
76d752585b
Started a tidy up in the HMC sector. Now comfortable with the two level integrators;
...
to a little figure out what Guido had done & why -- but there is a neat saving of force
evaluations across the nesting time boundary making use of linearity of the leapP in dt.
I cleaned up the printing, reduced the volume of code, in the process sharing printing
between all integrators. Placed an assert that the total integration time for all integrators
must match at end of trajectory.
Have now verified e-dH = 1 for nested integrators in Wilson/Wilson runs with both
Omelyan and with Leapfrog so substantial confidence gained.
2015-08-29 17:18:43 +01:00
Peter Boyle
dc814f30da
Binary IO file for generic Grid array parallel I/O.
...
Number of IO MPI tasks can be varied by selecting which
dimensions use parallel IO and which dimensions use Serial send to boss
I/O.
Thus can neck down from, say 1024 nodes = 4x4x8x8 to {1,8,32,64,128,256,1024} nodes
doing the I/O.
Interpolates nicely between ALL nodes write their data, a single boss per time-plane
in processor space [old UKQCD fortran code did this], and a single node doing all I/O.
Not sure I have the transfer sizes big enough and am not overly convinced fstream
is guaranteed to not give buffer inconsistencies unless I set streambuf size to zero.
Practically it has worked on 8 tasks, 2x1x2x2 writing /cloning NERSC configurations
on my MacOS + OpenMPI and Clang environment.
It is VERY easy to switch to pwrite at a later date, and also easy to send x-strips around from
each node in order to gather bigger chunks at the syscall level.
That would push us up to the circa 8x 18*4*8 == 4KB size write chunk, and by taking, say, x/y non
parallel we get to 16MB contiguous chunks written in multi 4KB transactions
per IOnode in 64^3 lattices for configuration I/O.
I suspect this is fine for system performance.
2015-08-26 13:40:29 +01:00
Peter Boyle
612957f057
pull in original license.
2015-08-21 10:19:08 +01:00
Peter Boyle
cea8ac9a22
Credits to orig source where I found the macro tricks.
2015-08-21 10:14:53 +01:00
Peter Boyle
476da3ee62
Separated IO reader/writers into a proper abstract base,
...
derived relationship. Have Text/Binary/Xml versions of
Reader & Writer.
Any new Reader/Writer class inheriting the interface can give object serialisation
to any desired format now.
new file: lib/serialisation/BaseIO.h
modified: lib/serialisation/BinaryIO.h
modified: lib/serialisation/Serialisation.h
modified: lib/serialisation/TextIO.h
modified: lib/serialisation/XmlIO.h
The test uses the Xml, Binary and Text formats as well as cout << Object.
2015-08-21 10:06:33 +01:00
Peter Boyle
35818fdf6c
Text and Binary readers
2015-08-20 23:04:38 +01:00
Peter Boyle
77d299b414
Cosmetic
2015-08-20 16:30:52 +01:00
Peter Boyle
ab81a25073
XMLReader implementation and a virtual Reader/Writer template framework.
...
Test_serialisation has an example of *code* *free* object serialisation
to both ostream and to XML using macro magic.
Implementing TextReader/TextWriter, YAML, JSON etc.. should be trivial
and we can use configure time options to select the default "Reader" typedef.
Present done with
"using XMLPolicy::Reader"
to pick up the default serialisation strategy.
2015-08-20 16:21:26 +01:00
Peter Boyle
fdfe194c41
Threading bug in RNG fill fixed.
2015-08-19 14:41:05 +01:00
Peter Boyle
4e085dd0ed
Domain wall even-odd 2f HMC with wilson gauge and PV 2f ratio now running and giving small dH.
...
Azusa is working hard on the rectangle term and we'll hopefully start reproducing plaquettes
from RBC-UKQCD parameters soon !
My new laptop is pretty warm and is starting to groan ;)
2015-08-19 10:26:07 +01:00
Peter Boyle
e8d63c9178
Merge branch 'master' of https://github.com/paboyle/Grid
2015-08-19 05:49:00 +01:00
Peter Boyle
c54c086f17
Even odd preconditioned one flavour ratio
...
(no support for non-const EE schur block)
2015-08-19 05:46:58 +01:00
Peter Boyle
dd6bb73ee0
Added one flavour rational ratios (unprec)
2015-08-19 04:58:40 +01:00
Peter Boyle
fc160eeccc
Added one flavour rational ratios (unprec)
2015-08-19 04:58:40 +01:00
Peter Boyle
48db72259e
EvenOdd schur decomposed mpcdagmpc version of rhmc determinant.
...
dH is also small and plaquette looks right.
2015-08-18 18:37:39 +01:00
Peter Boyle
570150f1d3
EvenOdd schur decomposed mpcdagmpc version of rhmc determinant.
...
dH is also small and plaquette looks right.
2015-08-18 18:37:39 +01:00
Peter Boyle
5c364f8082
One flavour rational unprec added; untested but does compile.
...
Moving param structs into a single header for later connection to file I/O using
macromagic.h
2015-08-18 14:40:08 +01:00
Peter Boyle
a842a6c94d
One flavour rational unprec added; untested but does compile.
...
Moving param structs into a single header for later connection to file I/O using
macromagic.h
2015-08-18 14:40:08 +01:00
Peter Boyle
bdcbfe9310
Even Odd two flavour ratio added and dH == small
2015-08-18 10:37:08 +01:00