|
HEBench
|
#include <datagen_helper.h>


Public Member Functions | |
| ~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 () |
Protected Member Functions | |
| DataLoaderCompute () | |
| virtual void | computeResult (std::vector< hebench::APIBridge::NativeDataBuffer * > &result, const std::uint64_t *param_data_pack_indices, hebench::APIBridge::DataType data_type)=0 |
| Computes result of the operation on the input data given the of the input sample. More... | |
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 () | |
Additional Inherited Members | |
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 |
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) |
Definition at line 22 of file datagen_helper.h.
|
inlineoverride |
Definition at line 30 of file datagen_helper.h.
|
inlineprotected |
Definition at line 34 of file datagen_helper.h.
|
protectedpure virtual |
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. |
Implemented in hebench::TestHarness::SimpleSetIntersection::DataLoader, hebench::TestHarness::MatrixMultiply::DataLoader, hebench::TestHarness::LogisticRegression::DataLoader, hebench::TestHarness::GenericWL::DataLoader, hebench::TestHarness::EltwiseMult::DataLoader, hebench::TestHarness::EltwiseAdd::DataLoader, and hebench::TestHarness::DotProduct::DataLoader.
|
overridevirtual |
getResultFor
| [in] | param_data_pack_indices | Collection of indices for data sample to use inside each parameter pack. Number of elements pointed must be, at least, getParameterCount(). |
| std::out_of_range | if any index is out of range. |
| std::invalid_argument | if param_data_pack_indices is null. |
| instance | of std::exception on any other error. |
The shape of result is always 2D: [n = getResultCount(), ?], so, the result for an operation is
where r_i is the index of the NativeDataBuffers for the result in the second dimension.
Implements hebench::TestHarness::IDataLoader.
Definition at line 23 of file datagen_helper.cpp.