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

On screen performance output. More...

#include <CalcServer/Performance.h>

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

Public Member Functions

 Performance (const std::string tool_name, const std::string color="white", bool bold=false, const std::string output_file="")
 Constructor.
 
 ~Performance ()
 Destructor.
 
void setup ()
 Initialize the tool.
 
void execute ()
 Launch _execute() without measuring the elapsed time.
 
- Public Member Functions inherited from Aqua::CalcServer::Reports::Report
 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

size_t computeAllocatedMemory ()
 Get the allocated memory.
 
cl_event _execute (const std::vector< cl_event > events)
 
- Protected Member Functions inherited from Aqua::CalcServer::Reports::Report
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

On screen performance output.

Performance will print the following data:

  1. Allocated memory in the computational device
  2. The average CPU time consumend of each tool (GPU time can be taken with the profiling tools of each vendor)
See also
Aqua::InputOutput::Logger

Constructor & Destructor Documentation

◆ Performance()

Aqua::CalcServer::Reports::Performance::Performance ( const std::string  tool_name,
const std::string  color = "white",
bool  bold = false,
const std::string  output_file = "" 
)

Constructor.

Parameters
tool_nameTool name
colorColor to print the report. Valid colors are:
  • "white"
  • "green"
  • "blue"
  • "yellow"
  • "red"
  • "magenta"
  • "cyan"
boldfalse if the report should not be highlighted with bolded font, true otherwise
output_filePath of the output file. Several scape strings can be used, as described in Aqua::newFilePath()
Here is the call graph for this function:

◆ ~Performance()

Aqua::CalcServer::Reports::Performance::~Performance ( )

Destructor.

Member Function Documentation

◆ _execute()

cl_event Aqua::CalcServer::Reports::Performance::_execute ( const std::vector< cl_event >  events)
protectedvirtual

Execute the tool

Parameters
eventsList of events that shall be waited before safe execution
Returns
OpenCL event to be waited before accessing the dependencies

Reimplemented from Aqua::CalcServer::Tool.

Here is the call graph for this function:

◆ computeAllocatedMemory()

size_t Aqua::CalcServer::Reports::Performance::computeAllocatedMemory ( )
protected

Get the allocated memory.

Returns
Allocated memory in the computational device.
Here is the call graph for this function:

◆ execute()

void Aqua::CalcServer::Reports::Performance::execute ( )
inlinevirtual

Launch _execute() without measuring the elapsed time.

This tool is measuring the total time elapsed during a single time step computation, and comparing it with the time consumed by the other tools. Hence we should override the overloaded time measuring capabilities

See also
Aqua::CalcServer::Tool

Reimplemented from Aqua::CalcServer::Tool.

Here is the call graph for this function:

◆ setup()

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

Initialize the tool.

Reimplemented from Aqua::CalcServer::Reports::Report.

Here is the call graph for this function:

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