Skip to content

Guide to Measurements

Markus edited this page Nov 1, 2017 · 1 revision

Hostnames and data locations for all systems in the paper by shorthand

Typically, measurements are stored in benchmarks/lammps/results/$HOST-$ID. The table indicates all exceptions.

Shorthand Hostname Where
ARM benchmarks/lammps/hpac-arm-a15.data
WM linuxihbcsc01
SB linuxihbc82 Also results2 and results3
HW linuxihdc073,linuxihdc077
HW2 Check paper source for measurement, provided by Intel
BW Check paper source for measurement, provided by Intel
K20X linuxnvc01,linuxnvc02
K40 linuxnvc03
KNC linuxihbc82,linuxphic01,linuxphic02,linuxphic07
KNL Check paper source for measurement, provided by Intel
SB+KNC linuxihbc82,linuxphic01,linuxphic02,linuxphic07
HW+KNC linuxihdc077
IV+2KNC machines/lrz-ib_phi/run{1,2,3}
IV machines/lrz-ib_phi/run1

Naming scheme for output files

For the most detailed account check the run scripts bench_cpu.sh etc.

Generally, output files are named <HOST>-<BENCHMARK>-<BINARY>-<PRECISION>-<VARIANT>-<RUNNO>, where:

HOST
The machine the run took place on according to the table above, as such determines the architecture.
BENCHMARK
Either tersoff (the benchmark as included with the LAMMPS distribution), or tersoff_bench, same benchmark scaled up to get meaningfull results when running parallel.
BINARY
The executable used in the run, important to distinguish e.g. KOKKOS and GPU variants. In general, for CPU variants we only use the default_vector variant of the binary, since we do not present data on optimized, but not vectorized code.
PRECISION
The precision of the run, i.e. for reference runs double, and varies for the rest.
VARIANT
The variant run, e.g. cpu_normal for vanilla LAMMPS, or cpu_intel for this code, augmented when running OpenMP/MPI, e.g. cpu_normal_some_mpi etc. The used modifier is all_mpi, since it yields best results.
RUNNO
Each run is repeated a few times, this number identifies the individual runs.

Extracting data

To extract data, just grep for Performance.

E.g. WM data from Fig. 4 (you will still need to get the median):

$ cd benchmarks/lammps/results
$ grep Performance linuxihbcsc01-tersoff* | `# select westmere host` \
> awk -F : '{print $1 $3}' | `# extract simulation rate ns/day` \
> awk '{ printf "%-70s %10s\n", $1, $2}' | `# formatting` \
> awk -F \- '{printf "%10s %20s", $4, $5; print " " $6}' | `# extract precision, variant, runno` \
> grep -v 'omp\|mpi' # exclude parallel runs
    double            cpu_intel 0       0.781
    double            cpu_intel 1       0.781
    double            cpu_intel 2       0.780
    double            cpu_intel 3       0.781
    double            cpu_intel 4       0.780
    double            cpu_intel 5       0.782
    double           cpu_normal 0      0.404
    double           cpu_normal 1      0.405
    double           cpu_normal 2      0.404
    double           cpu_normal 3      0.405
    double           cpu_normal 4      0.403
    double           cpu_normal 5      0.406
     mixed            cpu_intel 0        1.355
     mixed            cpu_intel 1        1.350
     mixed            cpu_intel 2        1.341
     mixed            cpu_intel 3        1.352
     mixed            cpu_intel 4        1.354
     mixed            cpu_intel 5        1.354
    single            cpu_intel 0       1.415
    single            cpu_intel 1       1.418
    single            cpu_intel 2       1.416
    single            cpu_intel 3       1.417
    single            cpu_intel 4       1.418
    single            cpu_intel 5       1.416