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

#include <OperationMultiEvalStreamingModOCLMaskMultiPlatform.hpp>

Inheritance diagram for sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< 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...
 
 OperationMultiEvalStreamingModOCLMaskMultiPlatform (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...
 
 ~OperationMultiEvalStreamingModOCLMaskMultiPlatform ()
 
- 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 > index
 Member to store the sparse grid's indices for better vectorization. More...
 
std::vector< T > kernelDataset
 
std::vector< T > level
 Member to store the sparse grid's levels for better vectorization. More...
 
std::shared_ptr< base::OCLManagerMultiPlatformmanager
 
std::vector< T > mask
 Member to store the sparse grid's mask for better vectorization. More...
 
std::vector< StreamingModOCLMaskMultiPlatform::KernelMult< T > > multKernels
 
std::vector< StreamingModOCLMaskMultiPlatform::KernelMultTranspose< T > > multTransposeKernels
 
sgpp::base::SGppStopwatch myTimer
 Timer object to handle time measurements. More...
 
std::vector< T > offset
 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::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::prepare ( )
inlineoverridevirtual

Member Data Documentation

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

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

template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::kernelDataset
protected
template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::level
protected

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

template<typename T>
std::shared_ptr<base::OCLManagerMultiPlatform> sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::manager
protected
template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::mask
protected

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

Timer object to handle time measurements.

template<typename T>
std::vector<T> sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::offset
protected

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

template<typename T>
size_t sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::overallDataBlockingSize
protected
template<typename T>
std::shared_ptr<base::OCLOperationConfiguration> sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::parameters
protected
template<typename T>
std::shared_ptr<sgpp::base::QueueLoadBalancerOpenMP> sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::queueLoadBalancerMult
protected
template<typename T>
std::shared_ptr<sgpp::base::QueueLoadBalancerOpenMP> sgpp::datadriven::OperationMultiEvalStreamingModOCLMaskMultiPlatform< T >::queueLoadBalancerMultTrans
protected

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