AQUAgpusph 4.1.2
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions
Aqua::CalcServer::Reports::Report Class Reference

Runtime outputs base class. More...

#include <CalcServer/Report.h>

Inheritance diagram for Aqua::CalcServer::Reports::Report:
Inheritance graph
[legend]
Collaboration diagram for Aqua::CalcServer::Reports::Report:
Collaboration graph
[legend]

Public Member Functions

 Report (const std::string tool_name, const std::string fields, unsigned int ipf=1, float fps=0.f)
 Constructor.
 
virtual ~Report ()
 Destructor.
 
virtual void setup ()
 Initialize the tool.
 
const std::string data (bool with_title=true, bool with_names=true)
 Return the text string of the data to be printed.
 
- Public Member Functions inherited from Aqua::CalcServer::Tool
 Tool (const std::string tool_name, bool once=false)
 
virtual ~Tool ()
 
void name (const std::string tool_name)
 
const std::string name ()
 
virtual void setup ()
 
virtual void execute ()
 Execute the tool measuring the elapsed time.
 
virtual Toolnext_tool ()
 
size_t allocatedMemory () const
 
unsigned int used_times () const
 
float elapsedTime (bool averaged=true) const
 
float elapsedTimeVariance () const
 
float elapsedTimeDeviation () const
 
virtual const int scope_modifier ()
 

Protected Member Functions

void processFields (const std::string fields)
 Compute the fields by lines.
 
std::vector< InputOutput::Variable * > variables ()
 Get the variables list.
 
bool mustUpdate ()
 Check if an output must be performed.
 
- Protected Member Functions inherited from Aqua::CalcServer::Tool
int id_in_pipeline ()
 
void next_tool (Tool *tool)
 
void allocatedMemory (size_t mem_size)
 
virtual cl_event _execute (const std::vector< cl_event > events)
 
void addElapsedTime (float elapsed_time)
 Add new data to the average and squared elapsed times.
 
void setDependencies (std::vector< std::string > var_names)
 Set the depedencies of the tool.
 
void setDependencies (std::vector< InputOutput::Variable * > vars)
 Set the depedencies of the tool.
 
const std::vector< InputOutput::Variable * > getDependencies ()
 Get the depedencies of the tool.
 

Additional Inherited Members

- Static Protected Member Functions inherited from Aqua::CalcServer::Tool
static std::vector< cl_kernel > compile (const std::string source, const std::vector< std::string > names, const std::string flags="")
 Compile an OpenCL source code and generate the corresponding kernel.
 
static cl_kernel compile_kernel (const std::string source, const std::string kernel_name, const std::string flags="")
 Compile an OpenCL source code and generate the corresponding kernel.
 

Detailed Description

Runtime outputs base class.

A runtime output is an output value that:

  1. Is composed by a relatively low amount of memory
  2. Its computation is not taking too much time Therefore it could be computed and printed oftenly.

It is tipically applied to print some relevant screen information or plot friendly tabulated files.

Constructor & Destructor Documentation

◆ Report()

Aqua::CalcServer::Reports::Report::Report ( const std::string  tool_name,
const std::string  fields,
unsigned int  ipf = 1,
float  fps = 0.f 
)

Constructor.

Parameters
tool_nameTool name.
fieldsFields to be printed. The fields are separated by commas or semicolons, and the spaces are just ignored.
ipfIterations per frame, 0 to just ignore this printing criteria.
fpsFrames per second, 0 to just ignore this printing criteria.

◆ ~Report()

Aqua::CalcServer::Reports::Report::~Report ( )
virtual

Destructor.

Member Function Documentation

◆ data()

const std::string Aqua::CalcServer::Reports::Report::data ( bool  with_title = true,
bool  with_names = true 
)

Return the text string of the data to be printed.

Parameters
with_titletrue if the report title should be inserted, false otherwise.
with_namestrue if the variable names should be printed, false otherwise.
Returns
Text string to be printed either in a file or in the screen.
Here is the call graph for this function:

◆ mustUpdate()

bool Aqua::CalcServer::Reports::Report::mustUpdate ( )
protected

Check if an output must be performed.

If the answer is true, the tool will set the time instant as the last printing event

Returns
true if a report should be printed, false otherwise.
Here is the call graph for this function:

◆ processFields()

void Aqua::CalcServer::Reports::Report::processFields ( const std::string  fields)
protected

Compute the fields by lines.

Here is the call graph for this function:

◆ setup()

void Aqua::CalcServer::Reports::Report::setup ( )
virtual

Initialize the tool.

Reimplemented from Aqua::CalcServer::Tool.

Reimplemented in Aqua::CalcServer::Reports::Performance, Aqua::CalcServer::Reports::Screen, Aqua::CalcServer::Reports::SetTabFile, and Aqua::CalcServer::Reports::TabFile.

Here is the call graph for this function:

◆ variables()

std::vector< InputOutput::Variable * > Aqua::CalcServer::Reports::Report::variables ( )
inlineprotected

Get the variables list.

Returns
The variables list resulting from _fields

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