1
0
mirror of https://github.com/paboyle/Grid.git synced 2026-04-19 02:01:02 +01:00
Commit Graph

91 Commits

Author SHA1 Message Date
Azusa Yamaguchi 78c4e862ef Plaq, Rectangle, Iwasaki, Symanzik and DBW2 workign and HMC regresses to http://arxiv.org/pdf/hep-lat/0610075.pdf 2015-12-28 16:38:31 +00:00
paboyle af855cc129 Updating to fix peek poke to checkerboarded arrays since Chulwoo needs this. 2015-12-12 07:11:46 +00:00
paboyle a5314eddbb Update todo list 2015-12-10 23:34:03 +00:00
Peter Boyle 2f38ebc446 Reintroducing the hand unrolled loops 2015-09-08 17:45:30 +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 eed889ea05 Update on todo list 2015-08-30 12:23:08 +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 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 091785e5f5 Better list 2015-08-20 17:19:48 +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 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 2dd9ad7b0f Update TODO list 2015-08-18 10:43:32 +01:00
Peter Boyle cd242a2637 Update TODO list 2015-08-18 10:43:32 +01:00
Peter Boyle 848104b1a9 Changes making force term test for DWF pass. 2015-08-01 22:06:07 +09:00
Peter Boyle 2157a6919a Changes making force term test for DWF pass. 2015-08-01 22:06:07 +09:00
Azusa Yamaguchi 58a695b0a9 More TODO as ever 2015-06-14 01:00:46 +01:00
Azusa Yamaguchi c185cbdc40 More TODO as ever 2015-06-14 01:00:46 +01:00
neo c6f2ee91f6 Small modification to the configure files 2015-06-04 14:17:58 +09:00
neo 5a5ee83d28 Small modification to the configure files 2015-06-04 14:17:58 +09:00
neo 12ae11ef62 Adding support for doxygen generation 2015-05-27 10:34:56 +09:00
neo da46b56e85 Adding support for doxygen generation 2015-05-27 10:34:56 +09:00
neo aff978f60a Cleaning up simd files 2015-05-26 13:31:10 +09:00
neo 4dbaa389c8 Cleaning up simd files 2015-05-26 13:31:10 +09:00
Peter Boyle 7f3ae64a31 OMP dslash working 2015-05-13 10:59:22 +01:00
Peter Boyle e179828662 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 a108d5d3b0 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 48f425d31c 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 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 6103c29ee3 Threading support rework.
Placed parallel pragmas as macros; implemented deterministic thread reduction in style of
BFM.
2015-05-12 07:51:41 +01:00
paboyle fa5779537c Command line args and a general clean up 2015-05-11 12:43:10 +01:00
paboyle 379943abf5 Command line args and a general clean up 2015-05-11 12:43:10 +01:00
paboyle 5548fd6928 Updated to do list 2015-05-11 09:44:50 +01:00
paboyle 9f9796b888 Updated to do list 2015-05-11 09:44:50 +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 5555a852be Lots of changes required to compile for MIC under ICPC 2015-05-10 23:29:21 +01:00
Peter Boyle 8215893152 Updated TODO list 2015-05-10 15:32:56 +01:00
Peter Boyle 933ccfdc4f Updated TODO list 2015-05-10 15:32:56 +01:00
Peter Boyle 27c2d13968 Updated todo list 2015-05-10 15:13:50 +01:00
Peter Boyle ebed239e49 Updated todo list 2015-05-10 15:13:50 +01:00
Peter Boyle 7b0dd6c5d6 Cleaned up for Linux 2015-05-05 22:09:22 +01:00
Peter Boyle 35d949cc17 Cleaned up for Linux 2015-05-05 22:09:22 +01:00
Peter Boyle 0b7d389258 Reworking CSHIFT and Stencil. Implementing Wilson and discovered rework is required 2015-04-27 13:45:07 +01:00
Peter Boyle f159495a9d Reworking CSHIFT and Stencil. Implementing Wilson and discovered rework is required 2015-04-27 13:45:07 +01:00
Peter Boyle 35cfef2129 Big updates with progress towards wilson matrix 2015-04-26 15:51:09 +01:00