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

This class is a MPI wrapper for other MultiEval-operations that uses a very simple master-slave MPI parallelization. More...

#include <OperationMultiEvalMPI.hpp>

Inheritance diagram for sgpp::datadriven::OperationMultiEvalMPI:
sgpp::base::OperationMultipleEval

Public Member Functions

double getDuration ()
 
void mult (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result)
 Multiplication of \(B^T\) with vector \(\alpha\). More...
 
void multSlave (sgpp::base::DataVector &alpha)
 
void multTranspose (sgpp::base::DataVector &source, sgpp::base::DataVector &result)
 Multiplication of \(B\) with vector \(\alpha\). More...
 
 OperationMultiEvalMPI (base::Grid &grid, base::DataMatrix &dataset, OperationMultipleEvalType type, OperationMultipleEvalSubType, bool verbose=false)
 
void prepare ()
 Used for kernel-specific setup like special data structures that are defined from the current state of the grid. More...
 
 ~OperationMultiEvalMPI ()
 
- 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 dim
 
double duration
 
OperationMultipleEvalSubType nodeImplSubType
 
OperationMultipleEvalType nodeImplType
 
bool verbose
 
- Protected Attributes inherited from sgpp::base::OperationMultipleEval
DataMatrixdataset
 
Gridgrid
 
bool isPrepared
 

Detailed Description

This class is a MPI wrapper for other MultiEval-operations that uses a very simple master-slave MPI parallelization.

Constructor & Destructor Documentation

◆ OperationMultiEvalMPI()

sgpp::datadriven::OperationMultiEvalMPI::OperationMultiEvalMPI ( base::Grid grid,
base::DataMatrix dataset,
OperationMultipleEvalType  type,
OperationMultipleEvalSubType  nodeImplSubType,
bool  verbose = false 
)

References prepare().

◆ ~OperationMultiEvalMPI()

sgpp::datadriven::OperationMultiEvalMPI::~OperationMultiEvalMPI ( )

Member Function Documentation

◆ getDuration()

double sgpp::datadriven::OperationMultiEvalMPI::getDuration ( )
virtual

◆ mult()

void sgpp::datadriven::OperationMultiEvalMPI::mult ( sgpp::base::DataVector alpha,
sgpp::base::DataVector result 
)
virtual

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::base::OperationMultipleEval::dataset, duration, sgpp::base::DataMatrix::getNrows(), python.statsfileInfo::i, python.leja::start, and verbose.

◆ multSlave()

◆ multTranspose()

void sgpp::datadriven::OperationMultiEvalMPI::multTranspose ( sgpp::base::DataVector source,
sgpp::base::DataVector result 
)
virtual

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 duration, and python.leja::start.

◆ prepare()

void sgpp::datadriven::OperationMultiEvalMPI::prepare ( )
virtual

Used for kernel-specific setup like special data structures that are defined from the current state of the grid.

This function is by default called with each "mult()", "multTranspose()" or evaluation operation and can be ignored from an external perspective. This is not overridden by every kernel.

Reimplemented from sgpp::base::OperationMultipleEval.

Referenced by OperationMultiEvalMPI().

Member Data Documentation

◆ dim

◆ duration

double sgpp::datadriven::OperationMultiEvalMPI::duration
protected

◆ nodeImplSubType

OperationMultipleEvalSubType sgpp::datadriven::OperationMultiEvalMPI::nodeImplSubType
protected

Referenced by multSlave().

◆ nodeImplType

OperationMultipleEvalType sgpp::datadriven::OperationMultiEvalMPI::nodeImplType
protected

Referenced by multSlave().

◆ verbose

bool sgpp::datadriven::OperationMultiEvalMPI::verbose
protected

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