5 #ifndef _HEBench_Harness_DataGenerator_GenericWL_H_0596d40a3cce4b108a81595c50eb286d
6 #define _HEBench_Harness_DataGenerator_GenericWL_H_0596d40a3cce4b108a81595c50eb286d
14 #include "hebench/modules/general/include/nocopy.h"
15 #include "hebench/modules/logging/include/logging.h"
23 namespace TestHarness {
48 static std::pair<std::vector<std::uint64_t>, std::vector<std::uint64_t>>
fetchIOVectorSizes(
const std::vector<hebench::APIBridge::WorkloadParam> &w_params);
56 const std::vector<hebench::APIBridge::WorkloadParam> &w_params)
const override;
72 typedef std::shared_ptr<DataLoader>
Ptr;
75 const std::vector<std::uint64_t> &max_batch_sizes,
76 const std::vector<std::uint64_t> &output_sizes,
78 const std::string &dataset_filename);
83 void computeResult(std::vector<hebench::APIBridge::NativeDataBuffer *> &result,
84 const std::uint64_t *param_data_pack_indices,
89 void init(
const std::vector<std::uint64_t> &input_sizes,
90 const std::vector<std::uint64_t> &max_batch_sizes,
91 const std::vector<std::uint64_t> &output_sizes,
93 const std::string &dataset_filename);
Specifies a benchmark configuration.
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.
static std::pair< std::vector< std::uint64_t >, std::vector< std::uint64_t > > fetchIOVectorSizes(const std::vector< hebench::APIBridge::WorkloadParam > &w_params)
Retrieves details about the input parameters and results of the generic operation based on the specif...
BenchmarkDescriptorCategory()=default
static constexpr const char * BaseWorkloadName
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...
~BenchmarkDescriptorCategory() override=default
static constexpr std::uint64_t WorkloadParameterMinCount
static constexpr hebench::APIBridge::WorkloadParamType::WorkloadParamType WorkloadParameterType
static DataLoader::Ptr create(const std::vector< std::uint64_t > &input_sizes, const std::vector< std::uint64_t > &max_batch_sizes, const std::vector< std::uint64_t > &output_sizes, hebench::APIBridge::DataType data_type, const std::string &dataset_filename)
void computeResult(std::vector< hebench::APIBridge::NativeDataBuffer * > &result, const std::uint64_t *param_data_pack_indices, hebench::APIBridge::DataType data_type) override
Computes result of the operation on the input data given the of the input sample.
std::shared_ptr< DataLoader > Ptr
Provides boilerplate implementation to common methods of interface IBenchmarkDescription and implemen...
Bundles values that need to be filled by a workload during completeWorkloadDescription().
WorkloadParamType
Defines the possible data types for a workload flexible parameter.
@ UInt64
64 bits unsigned integers.
DataType
Defines data types for a workload.
Defines a benchmark test.