AQUAgpusph 5.0.4
Loading...
Searching...
No Matches
Aqua::CalcServer::ProfilingInfo Class Reference

A FIFO list of profiling snapshots. More...

#include <CalcServer.hpp>

Inheritance diagram for Aqua::CalcServer::ProfilingInfo:

Public Member Functions

 ProfilingInfo (const cl_uint n=N_PROFILING_SNAPSHOTS)
 Constructor.
 ~ProfilingInfo ()
 Destructor.
cl_ulong step () const
 Get the number of times the tools pack has been executed.
void sample (cl_ulong step, Tool *tool, std::string name, cl_ulong start, cl_ulong end)
 Add a new sample to an specific step.
void sample (cl_ulong step, Tool *tool, Profile *substage, cl_ulong start, cl_ulong end)
 Add a new sample to an specific step.
std::deque< ProfilingSnapshotget () const
 Get the stored snapshots.

Static Public Member Functions

static cl_long delta (const cl_ulong &t, const cl_ulong &t0)
 Get the delta time.

Protected Member Functions

void newStep ()
 Let the profiler know that a new step of tools execution is about to start.

Detailed Description

A FIFO list of profiling snapshots.

Constructor & Destructor Documentation

◆ ProfilingInfo()

Aqua::CalcServer::ProfilingInfo::ProfilingInfo ( const cl_uint n = N_PROFILING_SNAPSHOTS)
inline

Constructor.

Parameters
nNumber of snapshots to keep

◆ ~ProfilingInfo()

Aqua::CalcServer::ProfilingInfo::~ProfilingInfo ( )
inline

Destructor.

Member Function Documentation

◆ delta()

cl_long Aqua::CalcServer::ProfilingInfo::delta ( const cl_ulong & t,
const cl_ulong & t0 )
inlinestatic

Get the delta time.

Whereas the timers are big unsigned integers, the delta is conversely a relatively small signed integer, although we keep the original 64 bits size

Parameters
tTimer
t0Timer reference to subtract
Returns
Time delta

◆ get()

std::deque< ProfilingSnapshot > Aqua::CalcServer::ProfilingInfo::get ( ) const

Get the stored snapshots.

Returns
The list of stored snapshots

◆ newStep()

void Aqua::CalcServer::ProfilingInfo::newStep ( )
protected

Let the profiler know that a new step of tools execution is about to start.

◆ sample() [1/2]

void Aqua::CalcServer::ProfilingInfo::sample ( cl_ulong step,
Tool * tool,
Profile * substage,
cl_ulong start,
cl_ulong end )
inline

Add a new sample to an specific step.

Parameters
stepThe profiling step
toolTriggering tool
substageTool computation substage
startStarting timer
endEnding timer
Here is the call graph for this function:

◆ sample() [2/2]

void Aqua::CalcServer::ProfilingInfo::sample ( cl_ulong step,
Tool * tool,
std::string name,
cl_ulong start,
cl_ulong end )

Add a new sample to an specific step.

Parameters
stepThe profiling step
toolTriggering tool
nameSample name
startStarting timer
endEnding timer

Traverse the snapshots looking for the step one

Here is the call graph for this function:

◆ step()

cl_ulong Aqua::CalcServer::ProfilingInfo::step ( ) const
inline

Get the number of times the tools pack has been executed.

This might not match InputOutput::TimeManager::step(). This is actually meant for profiling purposes


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