ls1-MarDyn
ls1-MarDyn molecular dynamics code
|
#include <LoadCalc.h>
Public Member Functions | |
TunerLoad (int count1, int count2, std::vector< double > &&ownTime, std::vector< double > &&faceTime, std::vector< double > &&edgeTime, std::vector< double > &&cornerTime) | |
TunerLoad () | |
double | getOwn (int index1, int index2) const override |
double | getFace (int index1, int index2) const override |
double | getEdge (int index1, int index2) const override |
double | getCorner (int index1, int index2) const override |
int | getCount1 () const noexcept |
int | getCount2 () const noexcept |
Static Public Member Functions | |
static void | write (std::ostream &stream, const TunerLoad &time) |
static TunerLoad | read (std::istream &stream) |
Stores the measured time for the vectorization tuner.
Extrapolates times when needed
TunerLoad::TunerLoad | ( | int | count1, |
int | count2, | ||
std::vector< double > && | ownTime, | ||
std::vector< double > && | faceTime, | ||
std::vector< double > && | edgeTime, | ||
std::vector< double > && | cornerTime | ||
) |
The whole idea of this class is to take the ownership of the measured values of the tuner, so they are given by rvalue reference. This constructor is used when tuning values are read from a file.
|
inline |
This constructor is normally used when creating new files.
|
inlineoverridevirtual |
Implements LoadCalc.
|
inlineoverridevirtual |
Implements LoadCalc.
|
inlineoverridevirtual |
Implements LoadCalc.
|
inlineoverridevirtual |
These function get the load for inner cell interactions and for the different neighbor types, using extrapolation if necessary
Implements LoadCalc.
|
static |
Reads the tuner values from a given file and returns the corresponding TunerTimes object
|
inlinestatic |
Writes the given TunerTime object to the given Stream