This HTML automatically generated with rman for NEMO
Table of Contents

Name

snapbench - benchmark (re)assigning masses to a snapshot

Synopsis

snapbench [parameter=value]

Description

snapbench performs a simple re-assigment of the masses in a snapshot in a number of methods, in order to measure its performance.

It also uses two memory models of keeping a snapshot: an array of structs (AOS) vs. a struct of arrays (SOA). snapshots’ are normally stored on disk as SOA’s, but most programs actually transpose them to an AOS, which can be very in-efficient.

Parameters

The following parameters are recognized in order; they may be given in any order if the keyword is also given. Use --help to confirm this man page is up to date.
in=
Input (snapshot) file. No default. [???]
mass=
Expression for new masses [1]
iter=
Number of iterations to test. A large number is useful to downweight the I/O contribution. [10]
mode=
reading input mode (1=body 2=arrays) [1]
out=
output (snapshot) file, if needed []

Examples

Here is the standard test that si part of NEMO’s "make bench"

make -f $NEMO/src/nbody/trans/Benchfile all

mkplummer p6 1000000
snapbench p6 ’mass=1.0001’ iter=1000 mode=0
snapbench p6 ’mass=1.0001*m’ iter=1000 mode=1
snapbench p6 ’mass=1.0001’ iter=1000 mode=2
snapbench p6 ’mass=1.0001’ iter=1000 mode=3

with the following examples

    CPU     modes: 0     1     2     3
  m2 (air)      0.36  2.89  2.81  0.37
  i9-12900K     0.20  4.42  3.30  0.23
  i7-1260P      0.30  6.39  5.89  0.37
  

Caveats

Only reading and assignment is measured. No options for output (if out= is given)

See Also

snapshot(5NEMO)

Files

src/nbody/trans/snapbench.c

Author

Peter Teuben

History


12-mar-2024    Finally documented    PJT


Table of Contents