| 
    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.