ls1-MarDyn
ls1-MarDyn molecular dynamics code
Public Member Functions | Static Public Member Functions | List of all members
TunerLoad Class Reference

#include <LoadCalc.h>

Inheritance diagram for TunerLoad:
LoadCalc

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)
 

Detailed Description

Stores the measured time for the vectorization tuner.

Extrapolates times when needed

Constructor & Destructor Documentation

◆ TunerLoad() [1/2]

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.

◆ TunerLoad() [2/2]

TunerLoad::TunerLoad ( )
inline

This constructor is normally used when creating new files.

Member Function Documentation

◆ getCorner()

double TunerLoad::getCorner ( int  index1,
int  index2 
) const
inlineoverridevirtual

Implements LoadCalc.

◆ getEdge()

double TunerLoad::getEdge ( int  index1,
int  index2 
) const
inlineoverridevirtual

Implements LoadCalc.

◆ getFace()

double TunerLoad::getFace ( int  index1,
int  index2 
) const
inlineoverridevirtual

Implements LoadCalc.

◆ getOwn()

double TunerLoad::getOwn ( int  index1,
int  index2 
) const
inlineoverridevirtual

These function get the load for inner cell interactions and for the different neighbor types, using extrapolation if necessary

Implements LoadCalc.

◆ read()

TunerLoad TunerLoad::read ( std::istream &  stream)
static

Reads the tuner values from a given file and returns the corresponding TunerTimes object

◆ write()

static void TunerLoad::write ( std::ostream &  stream,
const TunerLoad time 
)
inlinestatic

Writes the given TunerTime object to the given Stream


The documentation for this class was generated from the following files: