5 #ifndef _HEBench_Harness_Benchmark_Category_H_0596d40a3cce4b108a81595c50eb286d
6 #define _HEBench_Harness_Benchmark_Category_H_0596d40a3cce4b108a81595c50eb286d
13 #include "hebench/modules/general/include/nocopy.h"
14 #include "hebench/modules/logging/include/logging.h"
19 namespace TestHarness {
32 typedef std::shared_ptr<PartialBenchmarkCategory>
Ptr;
94 const std::uint64_t *param_data_pack_indices,
95 const std::vector<hebench::APIBridge::NativeDataBuffer *> &outputs,
124 const std::uint64_t *param_data_pack_indices,
125 const std::vector<hebench::APIBridge::NativeDataBuffer *> &outputs,
Token returned by a successful call to IBenchmarkDescriptor::matchBenchmarkDescriptor().
std::shared_ptr< IDataLoader > Ptr
static bool isEmpty(const hebench::APIBridge::Handle &h) noexcept
hebench::APIBridge::ErrorCode destroy()
RAIIHandle(const hebench::APIBridge::Handle &h)
RAIIHandle & operator=(RAIIHandle &&rhs) noexcept
hebench::APIBridge::Handle handle
virtual IDataLoader::Ptr getDataset() const =0
Dataset to be used for operations previously initialized during creation of this object.
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.
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.
~PartialBenchmarkCategory() override
PartialBenchmarkCategory(std::shared_ptr< Engine > p_engine, const IBenchmarkDescriptor::DescriptionToken &description_token)
std::shared_ptr< PartialBenchmarkCategory > Ptr
Base class for benchmarks.
DataType
Defines data types for a workload.
std::int32_t ErrorCode
Return value for API bridge functions.
Structure to contain flexible data.