gem5/splash2/codes/apps/water-nsquared
Sanchayan Maity 0f4b39775c Fix splash2 benchmark
During the last commit of splash2 benchmark it seems before committing
when we ran "make clean", it effectively undid what the patch at below
link did
http://www.capsl.udel.edu/splash/Download.html

Fix this since without this it is not possible to build the arcane
splash2 benchmark.
2017-04-26 21:33:02 +05:30
..
bndry.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
cnst.H Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
cnstnt.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
cshift.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
fileio.H Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
frcnst.H Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
global.H Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
initia.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
input Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
interf.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
intraf.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
kineti.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
libpthread.a Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
m5op_x86.o Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
Makefile Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
mddata.H Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
mdmain.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
mdvar.H Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
parameters.H Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
poteng.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
predcor.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
randno.H Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
random.in Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
README.water-nsquared Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
split.H Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
syscons.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
water.C Fix splash2 benchmark 2017-04-26 21:33:02 +05:30
water.H Commit splash2 benchmark 2017-04-26 20:50:15 +05:30
wwpot.H Commit splash2 benchmark 2017-04-26 20:50:15 +05:30

GENERAL INFORMATION:

This code is an improvement over the original Water code in SPLASH,
but is mostly the same.  The best source of descriptive information,
therefore is the original SPLASH report.  The main change is that 
the locking strategy around the updates to the water accelerations 
(in interf.C) is improved: a process updates a local copy of the 
relevant particle accelerations, and then accumulates into the shared 
copy once at the end.  

RUNNING THE PROGRAM:

To see how to run the program, please see the comment at the top 
of the water.C file or run it as "WATER-NSQUARED -h".  The input file 
has 10 parameters, of which the ones you would normally change 
are the number of molecules and the number of processors.  The other
parameters should be left at their values in the supplied input file
in the normal case.  Please do not set the CUTOFF value (the last 
parameter) to a nonzero number in the normal case.  

The only compile-time option (ifdef) is one that says to change the
input distribution.  The default input distribution of molecules
arranges them on a cubical lattice.  For this, the number of molecules
must be an integer cube (8, 27, 64, 343, 512 ...).  If one wants
to use a non-cube number of molecules, one can ignore the lattice
and use a random distribution of particles in a cubical space
by invoking the -DRANDOM compile-time option (see file initia.C). 
Note that a random distribution does not make too much physical sense,
since it does not preserve chemical intermolecular distance ranges. 
If you do not use the lattice but use -DRANDOM, please say so explicitly
in any results you report.

The program reads random numbers, to compute initial velocities, from
a file called random.in in the current working directory.  It does
this rather than generate random numbers to facilitate repeatability
and comparability of experiments.  The supplied file random.in
has enough numbers for about 512 molecules.  If you need more, add
more random numbers between -4.0 and +4.0 to the file.

BASE PROBLEM SIZE:

The base problem size for an upto-64 processor machine is 512 molecules.
For this number of molecules, you can use the input file provided (and 
change only the number of processors).

DATA DISTRIBUTION:

Our "POSSIBLE ENHANCEMENT" comments in the source code tell where one
might want to distribute data and how.  Data distribution, however,
does not make much difference to performance on the Stanford DASH 
multiprocessor.