|
HEBench
|
Top level opaque benchmark class. More...
#include <benchmark.hpp>


Public Member Functions | |
| BaseBenchmark (BaseEngine &engine, const hebench::APIBridge::BenchmarkDescriptor &bench_desc, const hebench::APIBridge::WorkloadParams &bench_params) | |
| Constructs a new BaseBenchmark object for benchmarking a workload with flexible parameters. More... | |
| BaseBenchmark (BaseEngine &engine, const hebench::APIBridge::BenchmarkDescriptor &bench_desc) | |
| Constructs a new BaseBenchmark object for benchmarking a workload that does not have any flexible parameters. More... | |
| virtual | ~BaseBenchmark ()=default |
| virtual void | initialize (const hebench::APIBridge::BenchmarkDescriptor &bench_desc_concrete) |
| Called by Test Harness with the concrete values for the benchmark description. More... | |
| virtual hebench::APIBridge::Handle | encode (const hebench::APIBridge::DataPackCollection *p_parameters)=0 |
| virtual void | decode (hebench::APIBridge::Handle encoded_data, hebench::APIBridge::DataPackCollection *p_native)=0 |
| virtual hebench::APIBridge::Handle | encrypt (hebench::APIBridge::Handle encoded_data)=0 |
| virtual hebench::APIBridge::Handle | decrypt (hebench::APIBridge::Handle encrypted_data)=0 |
| virtual hebench::APIBridge::Handle | load (const hebench::APIBridge::Handle *p_local_data, std::uint64_t count)=0 |
| virtual void | store (hebench::APIBridge::Handle remote_data, hebench::APIBridge::Handle *p_local_data, std::uint64_t count)=0 |
| virtual hebench::APIBridge::Handle | operate (hebench::APIBridge::Handle h_remote_packed, const hebench::APIBridge::ParameterIndexer *p_param_indexers, std::uint64_t indexers_count)=0 |
| BaseEngine & | getEngine () |
| const BaseEngine & | getEngine () const |
| std::int64_t | classTag () const override |
| Retrieves the tag of the class to which this object belongs. More... | |
| const hebench::APIBridge::BenchmarkDescriptor & | getDescriptor () const |
| const std::vector< hebench::APIBridge::WorkloadParam > & | getWorkloadParameters () const |
Public Member Functions inherited from hebench::cpp::ITaggedObject | |
| ITaggedObject () | |
| virtual | ~ITaggedObject () |
Static Public Attributes | |
| static constexpr std::int64_t | tag = 0x4000000000000000 |
| Used to identify this class when returned as a handle to Test Harness. More... | |
Static Public Attributes inherited from hebench::cpp::ITaggedObject | |
| static constexpr std::int64_t | MaskByteSet = 0xFF |
| static constexpr std::int64_t | MaskReservedBits = MaskByteSet << 56 |
| Mask representing all bits reserved by C++ wrapper. More... | |
Protected Member Functions | |
| void | setDescriptor (const hebench::APIBridge::BenchmarkDescriptor &value) |
Static Protected Member Functions | |
| static std::uint64_t | findDataPackIndex (const hebench::APIBridge::DataPackCollection ¶meters, std::uint64_t param_position) |
| Searches the specified DataPackCollection for the DataPack in the corresponding position. More... | |
| static const hebench::APIBridge::DataPack & | findDataPack (const hebench::APIBridge::DataPackCollection ¶meters, std::uint64_t param_position) |
| Searches the specified DataPackCollection for the DataPack in the corresponding position. More... | |
| static hebench::APIBridge::DataPack & | findDataPack (hebench::APIBridge::DataPackCollection ¶meters, std::uint64_t param_position) |
| Searches the specified DataPackCollection for the DataPack in the corresponding position. More... | |
Top level opaque benchmark class.
This class hides the internal complexities of the backend operations from the API Bridge.
Definition at line 142 of file benchmark.hpp.
| hebench::cpp::BaseBenchmark::BaseBenchmark | ( | BaseEngine & | engine, |
| const hebench::APIBridge::BenchmarkDescriptor & | bench_desc, | ||
| const hebench::APIBridge::WorkloadParams & | bench_params | ||
| ) |
Constructs a new BaseBenchmark object for benchmarking a workload with flexible parameters.
| engine | Calling engine. | |
| [in] | bench_desc | Calling description. |
| [in] | bench_params | Parameters for this benchmark's workload. |
Definition at line 59 of file benchmark.cpp.
| hebench::cpp::BaseBenchmark::BaseBenchmark | ( | BaseEngine & | engine, |
| const hebench::APIBridge::BenchmarkDescriptor & | bench_desc | ||
| ) |
Constructs a new BaseBenchmark object for benchmarking a workload that does not have any flexible parameters.
| engine | Calling engine. | |
| [in] | bench_desc | Calling description. |
Definition at line 52 of file benchmark.cpp.
|
virtualdefault |
|
inlineoverridevirtual |
Retrieves the tag of the class to which this object belongs.
Most significant 8 bits of the 64-bit tag are reserved by C++ wrapper. See ITaggedObject for more details.
Implements hebench::cpp::ITaggedObject.
Definition at line 199 of file benchmark.hpp.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
staticprotected |
Searches the specified DataPackCollection for the DataPack in the corresponding position.
| [in] | parameters | DataPackCollection to search. |
| [in] | param_position | Component position of the DataPack to find inside parameters. |
parameters corresponding to the specified param_position. | hebench::cpp::HEBenchError | if no DataPack for the specified param_position is found. |
Definition at line 94 of file benchmark.cpp.
|
staticprotected |
Searches the specified DataPackCollection for the DataPack in the corresponding position.
| [in] | parameters | DataPackCollection to search. |
| [in] | param_position | Component position of the DataPack to find inside parameters. |
parameters corresponding to the specified param_position. | hebench::cpp::HEBenchError | if no DataPack for the specified param_position is found. |
Definition at line 104 of file benchmark.cpp.
|
staticprotected |
Searches the specified DataPackCollection for the DataPack in the corresponding position.
| [in] | parameters | DataPackCollection to search. |
| [in] | param_position | Component position of the DataPack to find inside parameters. |
parameters corresponding to the specified param_position or parameters.pack_count if no DataPack for the specified param_position is found. Definition at line 73 of file benchmark.cpp.
|
inline |
Definition at line 201 of file benchmark.hpp.
|
inline |
Definition at line 196 of file benchmark.hpp.
|
inline |
Definition at line 197 of file benchmark.hpp.
|
inline |
Definition at line 202 of file benchmark.hpp.
|
virtual |
Called by Test Harness with the concrete values for the benchmark description.
| [in] | bench_desc_concrete | Benchmark description with user-specified values properly assigned. |
Functionally equivalent to hebench::APIBridge::initBenchmark().
Default implementation performs no operations and returns immediately. Override this method to add different behavior.
Definition at line 68 of file benchmark.cpp.
|
pure virtual |
|
pure virtual |
|
inlineprotected |
Definition at line 237 of file benchmark.hpp.
|
pure virtual |
|
staticconstexpr |
Used to identify this class when returned as a handle to Test Harness.
Definition at line 152 of file benchmark.hpp.