HEBench
|
#include <hebench_dotproduct.h>
Public Types | |
typedef std::shared_ptr< DataLoader > | Ptr |
Public Types inherited from hebench::TestHarness::PartialDataLoader | |
typedef std::shared_ptr< PartialDataLoader > | Ptr |
Public Types inherited from hebench::TestHarness::IDataLoader | |
template<typename T > | |
using | unique_ptr_custom_deleter = hebench::TestHarness::unique_ptr_custom_deleter< T > |
typedef std::shared_ptr< ResultData > | ResultDataPtr |
typedef std::shared_ptr< IDataLoader > | Ptr |
Public Member Functions | |
~DataLoader () override | |
Public Member Functions inherited from hebench::TestHarness::DataLoaderCompute | |
~DataLoaderCompute () override | |
ResultDataPtr | getResultFor (const std::uint64_t *param_data_pack_indices) override |
getResultFor More... | |
Public Member Functions inherited from hebench::TestHarness::PartialDataLoader | |
~PartialDataLoader () override | |
std::uint64_t | getParameterCount () const override |
Number of parameter components (operands) for the represented operation. More... | |
const hebench::APIBridge::DataPack & | getParameterData (std::uint64_t param_position) const override |
Data pack for specified operation parameter (operand). More... | |
std::uint64_t | getResultCount () const override |
Number of components in a result for the represented operation. More... | |
const hebench::APIBridge::DataPack & | getResultData (std::uint64_t param_position) const override |
Data pack corresponding to the specified component of the result. More... | |
ResultDataPtr | getResultFor (const std::uint64_t *param_data_pack_indices) override |
getResultFor More... | |
std::uint64_t | getResultIndex (const std::uint64_t *param_data_pack_indices) const override |
Computes the index of the result NativeDataBuffer given the indices of the input data. More... | |
std::uint64_t | getTotalDataLoaded () const override |
Total data loaded by this loader in bytes. More... | |
bool | hasResults () const |
Retrieves whether buffers to contain output data have been allocated or not. More... | |
bool | isInitialized () const |
hebench::APIBridge::DataType | getDataType () const |
Public Member Functions inherited from hebench::TestHarness::IDataLoader | |
virtual | ~IDataLoader () |
Static Public Member Functions | |
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) |
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, const std::string &dataset_filename) |
Static Public Member Functions inherited from hebench::TestHarness::IDataLoader | |
static std::size_t | sizeOf (hebench::APIBridge::DataType data_type) |
static unique_ptr_custom_deleter< hebench::APIBridge::DataPackCollection > | createDataPackCollection (std::uint64_t data_pack_count) |
Creates shallow packed data that self cleans up. More... | |
static unique_ptr_custom_deleter< hebench::APIBridge::DataPack > | createDataPack (std::uint64_t buffer_count, std::uint64_t param_position) |
Creates shallow data pack that self cleans up. More... | |
static unique_ptr_custom_deleter< hebench::APIBridge::NativeDataBuffer > | createDataBuffer (std::uint64_t size, std::int64_t tag) |
Protected Member Functions | |
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. More... | |
Protected Member Functions inherited from hebench::TestHarness::DataLoaderCompute | |
DataLoaderCompute () | |
Protected Member Functions inherited from hebench::TestHarness::PartialDataLoader | |
PartialDataLoader () | |
void | init (hebench::APIBridge::DataType data_type, std::size_t input_dim, const std::size_t *input_sample_count_per_dim, const std::uint64_t *input_count_per_dim, std::size_t output_dim, const std::uint64_t *output_count_per_dim, bool allocate_output) |
Initializes dimensions of inputs and outputs. No allocation is performed. More... | |
void | init (const std::string &filename, hebench::APIBridge::DataType data_type, std::size_t expected_input_dim, const std::size_t *max_input_sample_count_per_dim, const std::uint64_t *expected_input_count_per_dim, std::size_t expected_output_dim, const std::uint64_t *expected_output_count_per_dim) |
Loads a dataset from a file. More... | |
std::vector< std::shared_ptr< hebench::APIBridge::DataPack > > | getResultTempDataPacks (std::uint64_t result_index) const |
Retrieves a pre-allocated result providing memory space to store a single operation result sample. More... | |
std::vector< std::shared_ptr< hebench::APIBridge::DataPack > > | getResultTempDataPacks (const std::uint64_t *param_data_pack_indices) const |
Retrieves a pre-allocated result providing memory space to store a single operation result sample. More... | |
std::vector< std::shared_ptr< hebench::APIBridge::DataPack > > | getResultTempDataPacks () const |
Retrieves a pre-allocated result providing memory space to store a single operation result sample. More... | |
Protected Member Functions inherited from hebench::TestHarness::IDataLoader | |
IDataLoader () | |
Definition at line 55 of file hebench_dotproduct.h.
typedef std::shared_ptr<DataLoader> hebench::TestHarness::DotProduct::DataLoader::Ptr |
Definition at line 64 of file hebench_dotproduct.h.
|
inlineoverride |
Definition at line 76 of file hebench_dotproduct.h.
|
overrideprotectedvirtual |
Computes result of the operation on the input data given the of the input sample.
result | Vector where to store the result. Vector comes pre-initialized. This method's task is to fill up the data buffers with the result values. | |
[in] | param_data_pack_indices | For each operation parameter, this array indicates the sample index to use for the operation. Must contain, at least, getParameterCount() elements. |
[in] | data_type | Data type of the data pointed by the inputs and result. |
Implements hebench::TestHarness::DataLoaderCompute.
Definition at line 327 of file hebench_dotproduct.cpp.
|
static |
Definition at line 185 of file hebench_dotproduct.cpp.
|
static |
Definition at line 195 of file hebench_dotproduct.cpp.