DUECA/DUSIME
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
dueca::NetTimingLog Struct Reference

Timing information on network use. More...

Collaboration diagram for dueca::NetTimingLog:
Collaboration graph
[legend]

Public Types

typedef NetTimingLog __ThisDCOType__
 typedef for internal reference
 

Public Member Functions

 NetTimingLog ()
 default constructor. More...
 
 NetTimingLog (const uint16_t &n_points, const uint32_t &t_max, const float &net_permessage, const float &net_perbyte, const fixvector< 20, uint16_t > &times)
 Constructor with arguments.
 
 NetTimingLog (const uint16_t &n_points, const uint32_t &t_max, const float &net_permessage, const float &net_perbyte)
 Constructor with all single (non-iterable) arguments.
 
 NetTimingLog (const NetTimingLog &o)
 copy constructor. More...
 
 NetTimingLog (::dueca::AmorphReStore &r)
 constructor to restore an NetTimingLog from amorphous storage. More...
 
 ~NetTimingLog ()
 destructor. More...
 
void packData (::dueca::AmorphStore &s) const
 packs the NetTimingLog into amorphous storage. More...
 
void packDataDiff (::dueca::AmorphStore &s, const NetTimingLog &ref) const
 packs the NetTimingLog into amorphous storage. More...
 
void unPackData (::dueca::AmorphReStore &s)
 unpacks the NetTimingLog from an amorphous storage. More...
 
void unPackDataDiff (::dueca::AmorphReStore &s)
 unpacks the differences for NetTimingLog from an amorphous storage. More...
 
bool operator== (const NetTimingLog &o) const
 Test for equality. More...
 
bool operator!= (const NetTimingLog &o) const
 Test for inequality. More...
 
NetTimingLogoperator= (const NetTimingLog &o)
 Assignment operator. More...
 
std::ostream & print (std::ostream &s) const
 prints the NetTimingLog to a stream. More...
 
void histoLog (unsigned meastime, unsigned cycletime)
 Enter a datapoint in the histogram log. More...
 
float histTime (unsigned idx) const
 fraction of regular timing More...
 
void printline (std::ostream &s, TimeTickType tick) const
 Print a line in a file with compact timinglog data.
 

Static Public Member Functions

static void * operator new (size_t size)
 new operator "new", which places objects not on a heap, but in one of the memory arenas. More...
 
static void operator delete (void *p)
 new operator "delete", to go with the new version of operator new. More...
 
static void * operator new (size_t size, NetTimingLog *&o)
 placement "new", needed for stl. More...
 
static void printhead (std::ostream &os, const std::string &label)
 Print a header to a file.
 

Public Attributes

uint16_t n_points
 number of items logged
 
uint32_t t_max
 maximum in [us]
 
float net_permessage
 estimate for message set-up
 
float net_perbyte
 estimate for byte transmission time
 
fixvector< 20, uint16_t > times
 standard capacity
 

Static Public Attributes

static const char *const classname
 The name of this class. More...
 
static const uint32_t magic_check_number
 a "magic" number, hashed out of the class definition, that will be used to check consistency of the sent objects across the dueca nodes. More...
 

Detailed Description

Timing information on network use.

This provides a histogram view of the network communication time cycle. Timing is logged for a number of cycles, giving a histogram of times

Constructor & Destructor Documentation

◆ NetTimingLog() [1/3]

dueca::NetTimingLog::NetTimingLog ( )

default constructor.

◆ NetTimingLog() [2/3]

dueca::NetTimingLog::NetTimingLog ( const NetTimingLog o)

copy constructor.

◆ NetTimingLog() [3/3]

dueca::NetTimingLog::NetTimingLog ( ::dueca::AmorphReStore r)

constructor to restore an NetTimingLog from amorphous storage.

◆ ~NetTimingLog()

dueca::NetTimingLog::~NetTimingLog ( )

destructor.

Member Function Documentation

◆ operator new() [1/2]

static void* dueca::NetTimingLog::operator new ( size_t  size)
static

new operator "new", which places objects not on a heap, but in one of the memory arenas.

This to speed up memory management.

◆ operator delete()

static void dueca::NetTimingLog::operator delete ( void *  p)
static

new operator "delete", to go with the new version of operator new.

◆ operator new() [2/2]

static void* dueca::NetTimingLog::operator new ( size_t  size,
NetTimingLog *&  o 
)
inlinestatic

placement "new", needed for stl.

◆ packData()

void dueca::NetTimingLog::packData ( ::dueca::AmorphStore s) const

packs the NetTimingLog into amorphous storage.

◆ packDataDiff()

void dueca::NetTimingLog::packDataDiff ( ::dueca::AmorphStore s,
const NetTimingLog ref 
) const

packs the NetTimingLog into amorphous storage.

only differences with a previous object are packed.

◆ unPackData()

void dueca::NetTimingLog::unPackData ( ::dueca::AmorphReStore s)

unpacks the NetTimingLog from an amorphous storage.

◆ unPackDataDiff()

void dueca::NetTimingLog::unPackDataDiff ( ::dueca::AmorphReStore s)

unpacks the differences for NetTimingLog from an amorphous storage.

◆ operator==()

bool dueca::NetTimingLog::operator== ( const NetTimingLog o) const

Test for equality.

◆ operator!=()

bool dueca::NetTimingLog::operator!= ( const NetTimingLog o) const
inline

Test for inequality.

◆ operator=()

NetTimingLog& dueca::NetTimingLog::operator= ( const NetTimingLog o)

Assignment operator.

◆ print()

std::ostream& dueca::NetTimingLog::print ( std::ostream &  s) const

prints the NetTimingLog to a stream.

◆ histoLog()

void dueca::NetTimingLog::histoLog ( unsigned  meastime,
unsigned  cycletime 
)

Enter a datapoint in the histogram log.

Parameters
meastimeMeasured time
cycletimeCycle time

◆ histTime()

float dueca::NetTimingLog::histTime ( unsigned  idx) const

fraction of regular timing

Parameters
idxHistogram bin selection

Member Data Documentation

◆ classname

const char* const dueca::NetTimingLog::classname
static

The name of this class.

◆ magic_check_number

const uint32_t dueca::NetTimingLog::magic_check_number
static

a "magic" number, hashed out of the class definition, that will be used to check consistency of the sent objects across the dueca nodes.


The documentation for this struct was generated from the following file: