5 #ifndef _HEBench_Harness_GenericWL_O_H_0596d40a3cce4b108a81595c50eb286d
6 #define _HEBench_Harness_GenericWL_O_H_0596d40a3cce4b108a81595c50eb286d
10 #include "hebench/modules/general/include/nocopy.h"
11 #include "hebench/modules/logging/include/logging.h"
18 namespace TestHarness {
45 const std::vector<hebench::APIBridge::WorkloadParam> &w_params)
const override;
52 static bool m_b_registered;
73 const std::uint64_t *param_data_pack_indices,
74 const std::vector<hebench::APIBridge::NativeDataBuffer *> &p_outputs,
78 std::uint64_t m_op_input_count;
79 std::uint64_t m_op_output_count;
82 Benchmark(std::shared_ptr<Engine> p_engine,
Specifies a benchmark configuration.
Base class for workload benchmarks in the offline category.
std::shared_ptr< DataLoader > Ptr
static constexpr std::uint32_t BenchmarkID
~BenchmarkDescriptor() override=default
void destroyBenchmark(hebench::TestHarness::PartialBenchmark *p_bench) override
Destroys an object returned by createBenchmark().
void completeWorkloadDescription(WorkloadDescriptionOutput &output, const Engine &engine, const BenchmarkDescription::Backend &backend_desc, const BenchmarkDescription::Configuration &config) const override
Completes the description for the matched benchmark.
BenchmarkDescriptor()=default
bool matchBenchmarkDescriptor(const hebench::APIBridge::BenchmarkDescriptor &bench_desc, const std::vector< hebench::APIBridge::WorkloadParam > &w_params) const override
Determines if the represented benchmark can perform the workload described by a specified HEBench ben...
hebench::TestHarness::PartialBenchmark * createBenchmark(std::shared_ptr< Engine > p_engine, const DescriptionToken &description_token) override
Creates the represented IBenchmark object that can perform the workload specified by the HEBench benc...
static constexpr std::uint64_t DefaultBatchSize
IDataLoader::Ptr getDataset() const override
Dataset to be used for operations previously initialized during creation of this object.
~Benchmark() override=default
void init() override
Initializes the partial benchmark members.
std::uint32_t getEventIDStart() const override
An ID to identify the first event during the benchmark run.
bool validateResult(IDataLoader::Ptr dataset, const std::uint64_t *param_data_pack_indices, const std::vector< hebench::APIBridge::NativeDataBuffer * > &p_outputs, hebench::APIBridge::DataType data_type) const override
Validates the result of an operation against the ground truth.
Token returned by a successful call to IBenchmarkDescriptor::matchBenchmarkDescriptor().
std::shared_ptr< IDataLoader > Ptr
Bundles values that need to be filled by a workload during completeWorkloadDescription().
Base class for benchmarks.
DataType
Defines data types for a workload.
Defines a benchmark test.