1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-09 23:45:36 +00:00
Grid/scripts
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
..
arm_configure.experimental Experimental support for ARM 2015-06-09 15:46:21 +09:00
arm_configure.experimental_cortex57 More NEON functionalities 2015-07-21 11:52:15 +09:00
bench_wilson.sh Optimisation... 2015-05-19 15:50:47 +01:00
build-all Got unpreconditioned conjugate gradient to run and converge on a random (uniform random, 2015-05-19 13:57:35 +01:00
cleanup Rework/global edit to enforce type templating of fermion operators. 2015-08-10 20:47:44 +01:00
configure-all More targets 2015-05-23 09:34:50 +01:00
configure-commands Gparity test added; partial implementation -- this is Chris K's doubled lattice only 2015-08-12 09:49:33 +01:00
configure-cray Some useful XC30 commands 2015-07-01 22:50:13 +01:00
configure-mic Moved things around 2015-05-16 06:40:10 +01:00
cray-modules Some useful XC30 commands 2015-07-01 22:50:13 +01:00
filelist Addedd Ta functionality to the tensor types 2015-06-04 18:11:32 +09:00
hmc.sh Domain wall even-odd 2f HMC with wilson gauge and PV 2f ratio now running and giving small dH. 2015-08-19 10:26:07 +01:00
linecount Prettier reporting 2015-06-09 22:39:37 +01:00
reconfigure_script Check at configure time if CPU supports the requested SIMD optimization 2015-05-27 18:30:11 +09:00
substitute Binary IO file for generic Grid array parallel I/O. 2015-08-26 13:40:29 +01:00
substitute-global Jackson smoothed chebyshev and (untested) completion of force terms 2015-08-01 05:58:35 +09:00
wilson.gnu Optimisation... 2015-05-19 15:50:47 +01:00