SG++-Doxygen-Documentation
sgpp::datadriven::OperationMultipleEvalSubspaceSimple Class Reference

Multiple evaluation operation that uses the subspace structure to save work compared to the naive or streaming variants. More...

#include <OperationMultipleEvalSubspaceSimple.hpp>

Inheritance diagram for sgpp::datadriven::OperationMultipleEvalSubspaceSimple:
sgpp::datadriven::AbstractOperationMultipleEvalSubspace sgpp::base::OperationMultipleEval

Public Member Functions

size_t getAlignment () override
 Alignment required by the vector instruction set SG++ is compiled with. More...
 
std::string getImplementationName () override
 Name of the implementation, useful for benchmarking different implementation approaches. More...
 
void multImpl (sgpp::base::DataVector &source, sgpp::base::DataVector &result, const size_t start_index_data, const size_t end_index_data) override
 Internal mult operator, should not be called directly. More...
 
void multTransposeImpl (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result, const size_t start_index_data, const size_t end_index_data) override
 Internal eval operator, should not be called directly. More...
 
 OperationMultipleEvalSubspaceSimple (base::Grid &grid, base::DataMatrix &dataset)
 Creates a new instance of the OperationMultipleEvalSubspaceSimple class. More...
 
void prepare () override
 Updates the internal data structures to reflect changes to the grid, e.g. More...
 
 ~OperationMultipleEvalSubspaceSimple ()
 Destructor. More...
 
- Public Member Functions inherited from sgpp::datadriven::AbstractOperationMultipleEvalSubspace
 AbstractOperationMultipleEvalSubspace (base::Grid &grid, base::DataMatrix &dataset)
 
virtual double getDuration () override
 
virtual size_t getPaddedDatasetSize ()
 
void mult (sgpp::base::DataVector &source, sgpp::base::DataVector &result) override
 Multiplication of \(B^T\) with vector \(\alpha\). More...
 
void multTranspose (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result) override
 Multiplication of \(B\) with vector \(\alpha\). More...
 
 ~AbstractOperationMultipleEvalSubspace ()
 
- Public Member Functions inherited from sgpp::base::OperationMultipleEval
void eval (DataVector &alpha, DataVector &result)
 Evaluate multiple datapoints with the specified grid. 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...
 

Additional Inherited Members

- Static Public Member Functions inherited from sgpp::datadriven::AbstractOperationMultipleEvalSubspace
static size_t getChunkDataPoints ()
 
static size_t getChunkGridPoints ()
 
- Protected Attributes inherited from sgpp::datadriven::AbstractOperationMultipleEvalSubspace
base::GridStoragestorage
 
- Protected Attributes inherited from sgpp::base::OperationMultipleEval
DataMatrixdataset
 
Gridgrid
 
bool isPrepared
 

Detailed Description

Multiple evaluation operation that uses the subspace structure to save work compared to the naive or streaming variants.

Verification and debugging variant, should not be used. Instead, use the OperationMultipleEvalSubspaceCombined.

Constructor & Destructor Documentation

◆ OperationMultipleEvalSubspaceSimple()

sgpp::datadriven::OperationMultipleEvalSubspaceSimple::OperationMultipleEvalSubspaceSimple ( base::Grid grid,
base::DataMatrix dataset 
)

Creates a new instance of the OperationMultipleEvalSubspaceSimple class.

Parameters
gridgrid to be evaluated
datasetset of evaluation points

References sgpp::base::DataMatrix::getNcols().

◆ ~OperationMultipleEvalSubspaceSimple()

sgpp::datadriven::OperationMultipleEvalSubspaceSimple::~OperationMultipleEvalSubspaceSimple ( )

Destructor.

Member Function Documentation

◆ getAlignment()

size_t sgpp::datadriven::OperationMultipleEvalSubspaceSimple::getAlignment ( )
overridevirtual

Alignment required by the vector instruction set SG++ is compiled with.

Returns
alignment requirement

Implements sgpp::datadriven::AbstractOperationMultipleEvalSubspace.

◆ getImplementationName()

std::string sgpp::datadriven::OperationMultipleEvalSubspaceSimple::getImplementationName ( )
overridevirtual

Name of the implementation, useful for benchmarking different implementation approaches.

Returns
name of the implementation

Reimplemented from sgpp::base::OperationMultipleEval.

◆ multImpl()

void sgpp::datadriven::OperationMultipleEvalSubspaceSimple::multImpl ( sgpp::base::DataVector source,
sgpp::base::DataVector result,
const size_t  start_index_data,
const size_t  end_index_data 
)
overridevirtual

Internal mult operator, should not be called directly.

See also
OperationMultipleEval
Parameters
sourcesource operand for the operator
resultstores the result
start_index_databeginning of the range to process
end_index_dataend of the range to process

Implements sgpp::datadriven::AbstractOperationMultipleEvalSubspace.

References sgpp::base::OperationMultipleEval::dataset, sgpp::base::DataMatrix::getNcols(), sgpp::base::DataVector::getPointer(), sgpp::base::DataMatrix::getRow(), python.statsfileInfo::i, and sgpp::base::DataVector::set().

◆ multTransposeImpl()

void sgpp::datadriven::OperationMultipleEvalSubspaceSimple::multTransposeImpl ( sgpp::base::DataVector alpha,
sgpp::base::DataVector result,
const size_t  start_index_data,
const size_t  end_index_data 
)
overridevirtual

Internal eval operator, should not be called directly.

See also
OperationMultipleEval
Parameters
alphasurplusses of the grid
resultwill contain the evaluation results for the given range.
start_index_databeginning of the range to evaluate
end_index_dataend of the range to evaluate

Implements sgpp::datadriven::AbstractOperationMultipleEvalSubspace.

References sgpp::base::OperationMultipleEval::dataset, sgpp::base::DataMatrix::getNcols(), sgpp::base::DataVector::getPointer(), sgpp::base::DataMatrix::getRow(), and python.statsfileInfo::i.

◆ prepare()


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