SG++
sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T > Class Template Reference

#include <OperationMultiEvalStreamingModOCLOpt.hpp>

Inheritance diagram for sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >:
sgpp::base::OperationMultipleEval

Public Member Functions

double getDuration ()
 
void mult (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result) override
 Multiplication of \(B^T\) with vector \(\alpha\). More...
 
void multTranspose (sgpp::base::DataVector &source, sgpp::base::DataVector &result) override
 Multiplication of \(B\) with vector \(\alpha\). More...
 
 OperationMultiEvalStreamingModOCLOpt (base::Grid &grid, base::DataMatrix &dataset, std::shared_ptr< base::OCLManagerMultiPlatform > manager, std::shared_ptr< base::OCLOperationConfiguration > parameters)
 
void prepare () override
 Used for kernel-specific setup like special data structures that are defined from the current state of the grid. More...
 
 ~OperationMultiEvalStreamingModOCLOpt ()
 
- Public Member Functions inherited from sgpp::base::OperationMultipleEval
void eval (DataVector &alpha, DataVector &result)
 Evaluate multiple datapoints with the specified grid. More...
 
virtual std::string getImplementationName ()
 Name of this implementation of the operation. More...
 
virtual void mult (DataVector &alpha, DataVector &result, size_t startIndexData, size_t endIndexData)
 Multiplication of \(B^T\) with vector \(\alpha\). More...
 
virtual void multTranspose (DataVector &source, DataVector &result, size_t startIndexGrid, size_t endIndexGrid)
 Multiplication of \(B\) with vector \(\alpha\). More...
 
 OperationMultipleEval (sgpp::base::Grid &grid, DataMatrix &dataset)
 Constructor. More...
 
virtual ~OperationMultipleEval ()
 Destructor. More...
 

Protected Attributes

size_t datasetSizePadded
 
size_t datasetSizeUnpadded
 
std::vector< std::shared_ptr< base::OCLDevice > > devices
 
size_t dims
 
double duration
 
size_t gridSizePadded
 
size_t gridSizeUnpadded
 
std::vector< T > indexFast
 Member to store the sparse grid's indices for better vectorization. More...
 
std::vector< T > indexMask
 Member to store the sparse grid's indices for better vectorization. More...
 
std::vector< T > kernelDataset
 
std::vector< T > levelFast
 Member to store the sparse grid's levels for better vectorization. More...
 
std::vector< T > levelMask
 Member to store the sparse grid's levels for better vectorization. More...
 
std::shared_ptr< base::OCLManagerMultiPlatformmanager
 
std::vector< T > maskMask
 Member to store the sparse grid's mask for better vectorization. More...
 
std::vector< StreamingModOCLOpt::KernelMult< T > > multKernels
 
std::vector< StreamingModOCLOpt::KernelMultTranspose< T > > multTransposeKernels
 
sgpp::base::SGppStopwatch myTimer
 Timer object to handle time measurements. More...
 
std::vector< T > offsetMask
 Member to store the sparse grid's offset for better vectorization. More...
 
size_t overallDataBlockingSize
 
size_t overallGridBlockingSize
 
std::shared_ptr< base::OCLOperationConfigurationparameters
 
sgpp::base::DataMatrix preparedDataset
 
std::shared_ptr< sgpp::base::QueueLoadBalancerOpenMPqueueLoadBalancerMult
 
std::shared_ptr< sgpp::base::QueueLoadBalancerOpenMPqueueLoadBalancerMultTrans
 
base::GridStoragestorage
 
bool verbose
 
- Protected Attributes inherited from sgpp::base::OperationMultipleEval
DataMatrixdataset
 
Gridgrid
 
bool isPrepared
 

Constructor & Destructor Documentation

Member Function Documentation

template<typename T>
void sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::mult ( sgpp::base::DataVector alpha,
sgpp::base::DataVector result 
)
inlineoverridevirtual
template<typename T>
void sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::prepare ( )
inlineoverridevirtual

Member Data Documentation

template<typename T>
size_t sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::datasetSizeUnpadded
protected
template<typename T>
std::vector<std::shared_ptr<base::OCLDevice> > sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::devices
protected
template<typename T>
size_t sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::gridSizeUnpadded
protected
template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::indexFast
protected

Member to store the sparse grid's indices for better vectorization.

template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::indexMask
protected

Member to store the sparse grid's indices for better vectorization.

template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::kernelDataset
protected
template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::levelFast
protected

Member to store the sparse grid's levels for better vectorization.

template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::levelMask
protected

Member to store the sparse grid's levels for better vectorization.

template<typename T>
std::shared_ptr<base::OCLManagerMultiPlatform> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::manager
protected
template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::maskMask
protected

Member to store the sparse grid's mask for better vectorization.

template<typename T>
std::vector<StreamingModOCLOpt::KernelMult<T> > sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::multKernels
protected
template<typename T>
std::vector<StreamingModOCLOpt::KernelMultTranspose<T> > sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::multTransposeKernels
protected

Timer object to handle time measurements.

template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::offsetMask
protected

Member to store the sparse grid's offset for better vectorization.

template<typename T>
size_t sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::overallDataBlockingSize
protected
template<typename T>
size_t sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::overallGridBlockingSize
protected
template<typename T>
std::shared_ptr<base::OCLOperationConfiguration> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::parameters
protected
template<typename T>
sgpp::base::DataMatrix sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::preparedDataset
protected
template<typename T>
std::shared_ptr<sgpp::base::QueueLoadBalancerOpenMP> sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::queueLoadBalancerMult
protected
template<typename T>
base::GridStorage& sgpp::datadriven::OperationMultiEvalStreamingModOCLOpt< T >::storage
protected

The documentation for this class was generated from the following file: