SG++-Doxygen-Documentation
|
Multiple evaluation operation that uses the subspace structure to save work compared to the naive or streaming variants. More...
#include <OperationMultipleEvalSubspaceSimple.hpp>
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::GridStorage * | storage |
Protected Attributes inherited from sgpp::base::OperationMultipleEval | |
DataMatrix & | dataset |
Grid & | grid |
bool | isPrepared |
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.
sgpp::datadriven::OperationMultipleEvalSubspaceSimple::OperationMultipleEvalSubspaceSimple | ( | base::Grid & | grid, |
base::DataMatrix & | dataset | ||
) |
Creates a new instance of the OperationMultipleEvalSubspaceSimple class.
grid | grid to be evaluated |
dataset | set of evaluation points |
References sgpp::base::DataMatrix::getNcols().
sgpp::datadriven::OperationMultipleEvalSubspaceSimple::~OperationMultipleEvalSubspaceSimple | ( | ) |
Destructor.
|
overridevirtual |
Alignment required by the vector instruction set SG++ is compiled with.
Implements sgpp::datadriven::AbstractOperationMultipleEvalSubspace.
|
overridevirtual |
Name of the implementation, useful for benchmarking different implementation approaches.
Reimplemented from sgpp::base::OperationMultipleEval.
|
overridevirtual |
Internal mult operator, should not be called directly.
source | source operand for the operator |
result | stores the result |
start_index_data | beginning of the range to process |
end_index_data | end 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().
|
overridevirtual |
Internal eval operator, should not be called directly.
alpha | surplusses of the grid |
result | will contain the evaluation results for the given range. |
start_index_data | beginning of the range to evaluate |
end_index_data | end 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.
|
overridevirtual |
Updates the internal data structures to reflect changes to the grid, e.g.
due to refinement.
Reimplemented from sgpp::base::OperationMultipleEval.
References sgpp::datadriven::SubspaceNodeSimple::addGridPoint(), sgpp::base::HashGridPoint::get(), sgpp::base::DataVector::get(), sgpp::datadriven::x86simple::getHighestDifferentIndex(), sgpp::base::HashGridStorage::getPoint(), sgpp::base::HashGridStorage::getSize(), sgpp::datadriven::SubspaceNodeSimple::gridPointsOnLevel, sgpp::datadriven::SubspaceNodeSimple::hInverse, python.statsfileInfo::i, python.utils.statsfile2gnuplot::j, sgpp::datadriven::SubspaceNodeSimple::level, level, chess::point, sgpp::datadriven::x86simple::problemDimForSorting, sgpp::base::DataVector::set(), sgpp::datadriven::AbstractOperationMultipleEvalSubspace::storage, and sgpp::datadriven::x86simple::subspaceComparator().