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

#include <OperationMultipleEvalStreamingBSplineOCL.hpp>

Inheritance diagram for sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< 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...
 
 OperationMultiEvalStreamingBSplineOCL (base::Grid &grid, base::DataMatrix &dataset, 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...
 
 ~OperationMultiEvalStreamingBSplineOCL ()
 
- 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 datasetSize = 0
 
size_t dims
 
double duration
 
size_t gridSize = 0
 
T * index = nullptr
 Member to store the sparse grid's indices for better vectorization. More...
 
std::unique_ptr< StreamingBSplineOCLKernelImpl< T > > kernel
 
T * kernelDataset = nullptr
 
T * level = nullptr
 Member to store the sparse grid's levels for better vectorization. More...
 
std::shared_ptr< base::OCLManagermanager
 
sgpp::base::SGppStopwatch myTimer
 Timer object to handle time measurements. More...
 
std::shared_ptr< base::OCLOperationConfigurationparameters
 
sgpp::base::DataMatrix preparedDataset
 
base::GridStoragestorage
 
- Protected Attributes inherited from sgpp::base::OperationMultipleEval
DataMatrixdataset
 
Gridgrid
 
bool isPrepared
 

Constructor & Destructor Documentation

Member Function Documentation

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

Multiplication of \(B^T\) with vector \(\alpha\).

Parameters
alphavector, to which \(B\) is applied. Typically the coefficient vector
resultthe result vector of the matrix vector multiplication

Implements sgpp::base::OperationMultipleEval.

References sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::datasetSize, sgpp::base::DataVector::getSize(), sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::gridSize, sgpp::base::SGppStopwatch::start(), python.leja::start, and sgpp::base::SGppStopwatch::stop().

template<typename T>
void sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::multTranspose ( sgpp::base::DataVector source,
sgpp::base::DataVector result 
)
inlineoverridevirtual

Multiplication of \(B\) with vector \(\alpha\).

Parameters
sourcevector, to which \(B^T\) is applied. Typically the coefficient vector
resultthe result vector of the matrix vector multiplication

Implements sgpp::base::OperationMultipleEval.

References sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::datasetSize, sgpp::base::DataMatrix::getNcols(), sgpp::base::DataVector::getSize(), sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::gridSize, sgpp::base::SGppStopwatch::start(), python.leja::start, and sgpp::base::SGppStopwatch::stop().

Member Data Documentation

template<typename T>
std::unique_ptr<StreamingBSplineOCLKernelImpl<T> > sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::kernel
protected

Timer object to handle time measurements.

template<typename T>
sgpp::base::DataMatrix sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::preparedDataset
protected
template<typename T>
base::GridStorage* sgpp::datadriven::OperationMultiEvalStreamingBSplineOCL< T >::storage
protected

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