5 #ifndef _HEBench_Harness_Benchmark_Factory_H_0596d40a3cce4b108a81595c50eb286d
6 #define _HEBench_Harness_Benchmark_Factory_H_0596d40a3cce4b108a81595c50eb286d
12 #include "hebench/modules/general/include/nocopy.h"
13 #include "hebench/modules/logging/include/logging.h"
20 namespace TestHarness {
61 static std::vector<std::shared_ptr<IBenchmarkDescriptor>> &getRegisteredBenchmarks();
Specifies a benchmark configuration.
static IBenchmarkDescriptor::DescriptionToken::Ptr matchBenchmarkDescriptor(const Engine &engine, const BenchmarkDescription::Backend &backend_desc, const BenchmarkDescription::Configuration &config)
Returns a token representing a benchmark that can perform the described workload with specified param...
static bool registerSupportedBenchmark(std::shared_ptr< IBenchmarkDescriptor > p_desc_obj)
Registers a benchmark description object that represents one of the supported workloads.
std::shared_ptr< DescriptionToken > Ptr
std::shared_ptr< IBenchmark > Ptr
ErrorCode createBenchmark(Handle h_engine, Handle h_bench_desc, const WorkloadParams *p_params, Handle *h_benchmark)
Instantiates a benchmark on the backend.