HEBench
|
Base class for workload benchmarks in the latency category. More...
#include <hebench_benchmark_latency.h>
Public Types | |
typedef std::shared_ptr< BenchmarkLatency > | Ptr |
Public Types inherited from hebench::TestHarness::PartialBenchmarkCategory | |
typedef std::shared_ptr< PartialBenchmarkCategory > | Ptr |
Public Types inherited from hebench::TestHarness::PartialBenchmark | |
typedef std::shared_ptr< PartialBenchmark > | Ptr |
Public Types inherited from hebench::TestHarness::IBenchmark | |
typedef std::shared_ptr< IBenchmark > | Ptr |
Public Member Functions | |
~BenchmarkLatency () override | |
bool | run (hebench::Utilities::TimingReportEx &out_report, IBenchmark::RunConfig &config) override |
Executes the benchmark latency test. More... | |
Public Member Functions inherited from hebench::TestHarness::PartialBenchmarkCategory | |
~PartialBenchmarkCategory () override | |
Public Member Functions inherited from hebench::TestHarness::PartialBenchmark | |
~PartialBenchmark () override | |
std::weak_ptr< Engine > | getEngine () const override |
const hebench::APIBridge::Handle & | handle () const override |
virtual std::uint32_t | getEventIDStart () const |
An ID to identify the first event during the benchmark run. More... | |
std::uint32_t | getEventIDNext () |
Returns the next available event ID. More... | |
virtual void | init ()=0 |
Initializes the partial benchmark members. More... | |
void | initBackend (hebench::Utilities::TimingReportEx &out_report, const FriendPrivateKey &) |
Initializes backend benchmark. More... | |
virtual void | postInit () |
Called automatically during initialization after the backend has been initialized. More... | |
void | checkInitializationState (const FriendPrivateKey &) const |
Used to check that initialization steps have been completed successfully. More... | |
Public Member Functions inherited from hebench::TestHarness::IBenchmark | |
virtual | ~IBenchmark ()=default |
Protected Member Functions | |
BenchmarkLatency (std::shared_ptr< Engine > p_engine, const IBenchmarkDescriptor::DescriptionToken &description_token) | |
Protected Member Functions inherited from hebench::TestHarness::PartialBenchmarkCategory | |
PartialBenchmarkCategory (std::shared_ptr< Engine > p_engine, const IBenchmarkDescriptor::DescriptionToken &description_token) | |
virtual IDataLoader::Ptr | getDataset () const =0 |
Dataset to be used for operations previously initialized during creation of this object. More... | |
virtual bool | validateResult (IDataLoader::Ptr dataset, const std::uint64_t *param_data_pack_indices, const std::vector< hebench::APIBridge::NativeDataBuffer * > &outputs, hebench::APIBridge::DataType data_type) const |
Validates the result of an operation against the ground truth. More... | |
virtual void | logResult (std::ostream &os, IDataLoader::Ptr dataset, const std::uint64_t *param_data_pack_indices, const std::vector< hebench::APIBridge::NativeDataBuffer * > &outputs, hebench::APIBridge::DataType data_type) const |
Outputs the arguments, expected ground truth, and received result to an output stream. More... | |
Protected Member Functions inherited from hebench::TestHarness::PartialBenchmark | |
const BenchmarkDescription::Backend & | getBackendDescription () const |
Allows read-only access to this benchmark backend description. More... | |
const BenchmarkDescription::Configuration & | getBenchmarkConfiguration () const |
Allows read-only access to this benchmark configuration. More... | |
const BenchmarkDescription::Description & | getDescription () const |
Allows read-only access to this benchmark text description. More... | |
PartialBenchmark (std::shared_ptr< Engine > p_engine, const IBenchmarkDescriptor::DescriptionToken &description_token) | |
void | validateRetCode (hebench::APIBridge::ErrorCode err_code, bool last_error=true) const |
Validates whether the specified HEBench API return code represents a success or error. More... | |
Protected Member Functions inherited from hebench::TestHarness::IBenchmark | |
IBenchmark ()=default | |
Base class for workload benchmarks in the latency category.
This class offers an implementation to latency category benchmarking.
To extend this class, first clients must understand the execution flow as specified in IBenchmark interface. Then, see Adding Latency Category Using Pre-existing Implementation .
Definition at line 29 of file hebench_benchmark_latency.h.
typedef std::shared_ptr<BenchmarkLatency> hebench::TestHarness::BenchmarkLatency::Ptr |
Definition at line 38 of file hebench_benchmark_latency.h.
|
override |
Definition at line 30 of file hebench_benchmark_latency.cpp.
|
protected |
Definition at line 24 of file hebench_benchmark_latency.cpp.
|
overridevirtual |
Executes the benchmark latency test.
out_report | Object where to append the report of the operation. |
config | Specifies configuration parameters for the run. |
In this implementation, validation failure is reported on the first result that fails validation.
true
), or validation failed (false
).Implements hebench::TestHarness::IBenchmark.
Definition at line 34 of file hebench_benchmark_latency.cpp.