5 #ifndef _HEBench_Harness_DataGenerator_DotProduct_H_0596d40a3cce4b108a81595c50eb286d 
    6 #define _HEBench_Harness_DataGenerator_DotProduct_H_0596d40a3cce4b108a81595c50eb286d 
   14 #include "hebench/modules/general/include/nocopy.h" 
   15 #include "hebench/modules/logging/include/logging.h" 
   23 namespace TestHarness {
 
   40     static std::uint64_t 
fetchVectorSize(
const std::vector<hebench::APIBridge::WorkloadParam> &w_params);
 
   48                                   const std::vector<hebench::APIBridge::WorkloadParam> &w_params) 
const override;
 
   64     typedef std::shared_ptr<DataLoader> 
Ptr;
 
   67                                   std::uint64_t batch_size_a,
 
   68                                   std::uint64_t batch_size_b,
 
   71                                   std::uint64_t batch_size_a,
 
   72                                   std::uint64_t batch_size_b,
 
   74                                   const std::string &dataset_filename);
 
   79     void computeResult(std::vector<hebench::APIBridge::NativeDataBuffer *> &result,
 
   80                        const std::uint64_t *param_data_pack_indices,
 
   86     std::uint64_t m_vector_size;
 
   89     void init(std::uint64_t vector_size,
 
   90               std::uint64_t batch_size_a,
 
   91               std::uint64_t batch_size_b,
 
   93     void init(std::uint64_t vector_size,
 
   94               std::uint64_t batch_size_a,
 
   95               std::uint64_t batch_size_b,
 
   97               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.
BenchmarkDescriptorCategory()=default
static constexpr std::uint64_t OpResultCount
static constexpr std::uint64_t OpParameterCount
static constexpr std::uint64_t WorkloadParameterCount
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...
static constexpr const char * BaseWorkloadName
static std::uint64_t fetchVectorSize(const std::vector< hebench::APIBridge::WorkloadParam > &w_params)
~BenchmarkDescriptorCategory() override=default
static hebench::APIBridge::WorkloadParamType::WorkloadParamType WorkloadParameterType[WorkloadParameterCount]
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.
static DataLoader::Ptr create(std::uint64_t vector_size, std::uint64_t batch_size_a, std::uint64_t batch_size_b, hebench::APIBridge::DataType data_type)
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.
DataType
Defines data types for a workload.
Defines a benchmark test.