HEBench
hebench::cpp Namespace Reference

Namespaces

 Utilities
 
 WorkloadParams
 

Classes

class  BenchmarkDescription
 Base class for objects representing a specific benchmark based on an HEBench benchmark descriptor. More...
 
class  BaseBenchmark
 Top level opaque benchmark class. More...
 
struct  BenchmarkHandle
 Bundles a benchmark and its description to cross the API Bridge as a handle. More...
 
class  BaseEngine
 Base class that encapsulates common behavior of backend engines. More...
 
class  ITaggedObject
 Represents an object with a tag. More...
 
class  EngineObject
 Helper class to encapsulate objects that will cross the boundary of the API Bridge. More...
 
class  HEBenchError
 

Functions

BaseEnginecreateEngine (const std::int8_t *p_buffer, std::uint64_t size)
 Creates a new BaseEngine object. More...
 
void destroyEngine (BaseEngine *p)
 Destroys and cleans up resources from an engine created by createEngine(). More...
 

Class Documentation

◆ hebench::cpp::BenchmarkHandle

struct hebench::cpp::BenchmarkHandle

Bundles a benchmark and its description to cross the API Bridge as a handle.

Definition at line 27 of file engine.hpp.

Collaboration diagram for hebench::cpp::BenchmarkHandle:
Class Members
BenchmarkDescription * p_bench_description
BaseBenchmark * p_benchmark

Function Documentation

◆ createEngine()

BaseEngine* hebench::cpp::createEngine ( const std::int8_t *  p_buffer,
std::uint64_t  size 
)

Creates a new BaseEngine object.

Parameters
[in]p_bufferInput buffer of bytes with extra information for engine initialization. May be null if no initialization data is available.
[in]sizeNumber of bytes pointed by p_buffer .
Returns
A pointer to the newly created object.

This is only a function prototype. Backends extending this C++ wrapper should provide an implementation to this function.

This function is used by the C++ wrapper to create the engine during initialization, and it is supposed to return a polymorphic pointer to the concrete engine class that will drive the backend.

Data in p_buffer is specified by frontend user through benchmark configuration files. Test Harness will forward this information to backend using this buffer. Utilization of this information is backend specific, and backends can ignore it.

◆ destroyEngine()

void hebench::cpp::destroyEngine ( BaseEngine p)

Destroys and cleans up resources from an engine created by createEngine().

Parameters
[in]pPointer to engine to destroy.

This is only a function prototype. Backends extending this C++ wrapper should provide an implementation to this function.

This function is used by the C++ wrapper to destroy the engine during clean up.