AQUAgpusph 5.0.4
|
Runtime outputs base class. More...
#include <Report.hpp>
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, bool synced=false) |
Return the text string of the data to be printed. | |
cl_event | getUserEvent () const |
Get the user event generated by this tool to mark when is finished. | |
void | setUserEventStatus (cl_int status) const |
Set the user event status. | |
Public Member Functions inherited from Aqua::CalcServer::Tool | |
Tool (const std::string tool_name, bool once=false) | |
virtual | ~Tool () |
virtual void | execute () |
Execute the tool measuring the elapsed time. | |
virtual Tool * | next_tool () |
Tool * | prev_tool () const |
void | prev_tool (Tool *tool) |
size_t | allocatedMemory () const |
unsigned int | used_times () const |
void | addElapsedTime (float elapsed_time) |
Add new data to the average and squared elapsed times. | |
float | elapsedTime (bool averaged=true) const |
float | elapsedTimeVariance () const |
float | elapsedTimeDeviation () const |
virtual int | scope_modifier () const |
std::vector< InputOutput::Variable * > | getInputDependencies () const |
Get the input depedencies of the tool. | |
std::vector< InputOutput::Variable * > | getOutputDependencies () const |
Get the output depedencies of the tool. | |
std::tuple< std::vector< InputOutput::Variable * >, std::vector< InputOutput::Variable * > > | getDependencies () const |
Get the depedencies of the tool. | |
cl_event | getEvent () const |
Get the tool event. | |
void | parent (Tool *tool) |
Set the tool parent. | |
Tool * | parent () |
Get the tool parent. | |
Public Member Functions inherited from Aqua::CalcServer::Named | |
Named (const std::string name) | |
~Named () | |
void | name (const std::string tool_name) |
const std::string | name () const |
Get the name. | |
Public Member Functions inherited from Aqua::CalcServer::Profiler | |
Profiler () | |
~Profiler () | |
std::vector< Profile * > | substages () const |
Get the substages. |
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. | |
cl_event | setCallback (const std::vector< cl_event > events, void(CL_CALLBACK *cb)(cl_event, cl_int, void *)) |
Register a callback to be executed whenever it is possible. | |
Protected Member Functions inherited from Aqua::CalcServer::Tool | |
int | id_in_pipeline () const |
std::string | varPrefix () const |
Produce a variable name prefix. | |
void | next_tool (Tool *tool) |
void | allocatedMemory (size_t mem_size) |
virtual cl_event | _execute (const UNUSED_PARAM std::vector< cl_event > events) |
void | setDependencies (std::vector< std::string > inputs, std::vector< std::string > outputs) |
Set the depedencies of the tool. | |
void | setDependencies (std::vector< InputOutput::Variable * > inputs, std::vector< InputOutput::Variable * > outputs) |
Set the depedencies of the tool. | |
void | setDependencies (std::vector< std::string > vars) |
Set the depedencies of the tool. | |
void | setInputDependencies (std::vector< std::string > vars) |
Set the reading depedencies of the tool. | |
void | setInputDependencies (std::vector< InputOutput::Variable * > vars) |
Set the reading depedencies of the tool. | |
void | setOutputDependencies (std::vector< std::string > vars) |
Set the writing depedencies of the tool. | |
void | setOutputDependencies (std::vector< InputOutput::Variable * > vars) |
Set the writing depedencies of the tool. | |
void | setDependencies (std::vector< InputOutput::Variable * > vars) |
Set the depedencies of the tool. | |
const std::vector< cl_event > | getEvents (dep_events which=dep_events::all) const |
Get the list of events that this tool shall wait for. | |
Protected Member Functions inherited from Aqua::CalcServer::Profiler | |
void | substages (std::vector< Profile * > instances) |
Set the tool substages. |
Additional Inherited Members | |
Protected Types inherited from Aqua::CalcServer::Tool | |
enum | dep_events { in = 0x01 , out = 0x02 , all = 0x03 } |
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. |
Runtime outputs base class.
A runtime output is an output value that:
It is tipically applied to print some relevant screen information or plot friendly tabulated files.
Aqua::CalcServer::Reports::Report::Report | ( | const std::string | tool_name, |
const std::string | fields, | ||
unsigned int | ipf = 1, | ||
float | fps = 0.f ) |
Constructor.
tool_name | Tool name. |
fields | Fields to be printed. The fields are separated by commas or semicolons, and the spaces are just ignored. |
ipf | Iterations per frame, 0 to just ignore this printing criteria. |
fps | Frames per second, 0 to just ignore this printing criteria. |
|
virtual |
Destructor.
const std::string Aqua::CalcServer::Reports::Report::data | ( | bool | with_title = true, |
bool | with_names = true, | ||
bool | synced = false ) |
Return the text string of the data to be printed.
with_title | true if the report title should be inserted, false otherwise. |
with_names | true if the variable names should be printed, false otherwise. |
synced | true if the function shall block until the variables writing events are dispatched, false otherwise |
|
inline |
Get the user event generated by this tool to mark when is finished.
|
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
|
protected |
Compute the fields by lines.
|
protected |
Register a callback to be executed whenever it is possible.
events | Events to be waited for. If an empty list is provided, the callback is waiting until all previous enqueued commands (on the current command queue) are finished. |
cb | Callback to be called. |
|
virtual |
Initialize the tool.
Reimplemented from Aqua::CalcServer::Tool.
Reimplemented in Aqua::CalcServer::Reports::Dump, Aqua::CalcServer::Reports::Performance, Aqua::CalcServer::Reports::Screen, Aqua::CalcServer::Reports::SetTabFile, and Aqua::CalcServer::Reports::TabFile.
|
inline |
Set the user event status.
status | Either CL_COMPLETE or a negative integer |
std::runtime_error | if an OpenCL error is detected |
|
inlineprotected |
Get the variables list.