22 static constexpr std::uint64_t NumWorkloadParams = 7;
24 ~ExampleBenchmarkDescription()
override;
37 static constexpr std::int64_t tag = 0x1;
39 ExampleBenchmark(ExampleEngine &engine,
42 ~ExampleBenchmark()
override;
59 static constexpr std::uint64_t ParametersCount = 2;
60 static constexpr std::uint64_t ResultComponentsCount = 3;
63 typedef std::array<std::vector<std::vector<double>>, ParametersCount> InternalInputData;
65 typedef std::vector<std::array<std::vector<double>, ResultComponentsCount>> InternalResultData;
Top level opaque benchmark class.
virtual hebench::APIBridge::Handle load(const hebench::APIBridge::Handle *p_local_data, std::uint64_t count)=0
virtual hebench::APIBridge::Handle decrypt(hebench::APIBridge::Handle encrypted_data)=0
virtual void store(hebench::APIBridge::Handle remote_data, hebench::APIBridge::Handle *p_local_data, std::uint64_t count)=0
virtual hebench::APIBridge::Handle encode(const hebench::APIBridge::DataPackCollection *p_parameters)=0
std::int64_t classTag() const override
Retrieves the tag of the class to which this object belongs.
virtual hebench::APIBridge::Handle encrypt(hebench::APIBridge::Handle encoded_data)=0
virtual void decode(hebench::APIBridge::Handle encoded_data, hebench::APIBridge::DataPackCollection *p_native)=0
virtual hebench::APIBridge::Handle operate(hebench::APIBridge::Handle h_remote_packed, const hebench::APIBridge::ParameterIndexer *p_param_indexers, std::uint64_t indexers_count)=0
Base class that encapsulates common behavior of backend engines.
Base class for objects representing a specific benchmark based on an HEBench benchmark descriptor.
virtual void destroyBenchmark(BaseBenchmark *p_bench)=0
Destroys and frees resources held by a BaseBenchmark (or derived) object previously created by create...
virtual BaseBenchmark * createBenchmark(BaseEngine &engine, const hebench::APIBridge::WorkloadParams *p_params)=0
Instantiates the represented benchmark.
#define HEBERROR_DECLARE_CLASS_NAME(class_name)
Category
Defines all possible categories for each workload.
Defines a benchmark test.
Defines a collection of data packs.
Specifies the parameters for a workload.
Structure to contain flexible data.