#include <DistributedAccess.h>
Inheritance diagram for Impala::Core::Matrix::DistributedAccess:
Public Types | |
typedef Vector::VectorTem< Real64 > | Vector64 |
Public Member Functions | |
DistributedAccess () | |
DistributedAccess (int totalRows, int totalColumns, int rowParts, int columnParts, int startNode, int nodeCount) | |
virtual | ~DistributedAccess () |
bool | Valid (bool ctorOnly, bool withParts) |
bool | Symmetric () |
virtual int | NrRow () |
virtual int | NrCol () |
int | GetRows () |
void | SetRows (int nr) |
int | GetColumns () |
void | SetColumns (int nr) |
int | GetRowPartCount () const |
int | GetColumnPartCount () const |
int | GetTotalPartCount () const |
int | GetStartNode () const |
Table::QuidTable * | GetRowQuids () |
Table::QuidTable * | GetColumnQuids () |
void | CopyQuidsFrom (DistributedAccess *arg) |
int | GetRowStartOfPart (int rowPartIdx) const |
int | GetRowEndOfPart (int rowPartIdx) |
int | GetColumnStartOfPart (int columnPartIdx) |
int | GetColumnEndOfPart (int columnPartIdx) |
int | GetPartNr (int rowpart, int columnpart) |
int | GetOwnerOfPart (int partNr) |
int | GetRowPartOfPart (int partNr) |
int | GetColumnPartOfPart (int partNr) |
VirtualMatrix * | GetPart (int partNr) |
Matrix::Mat * | StealPart () |
void | AddPart (VirtualMatrix *part) |
void | AddFeature (CString feature, double weight, double average) |
int | GetNrFeatures () const |
String | GetFeature (int i) const |
double | GetWeight (int i) const |
double | GetTotalWeight () const |
double | GetAverage (int i) const |
void | SetAverage (int i, double value) |
bool | GetHasOwnAverages () const |
void | SetHasOwnAverages (bool flag) |
void | CopyFeaturesFrom (DistributedAccess *arg) |
void | Subscribe () |
void | Unsubscribe () |
int | GetColumn (int index, double *buffer, int bufferlength) |
int | GetRow (int index, double *buffer, int bufferlength) |
int | GetDiagonal (double *buffer, int bufferlength) |
void | StartEventLoop () |
void | Dump (int cornerWidth=4, int cornerHeight=4) |
Private Member Functions | |
virtual bool | HasGetRowImplReal64 () |
virtual int | GetRowImpl (int rowNr, Real64 *buffer, int bufferSize) |
virtual int | GetDiagonalImpl (Real64 *buffer, int bufferSize) |
int | GetData (double *buffer, int bufferlength, Util::PropertySet &cmd, const std::vector< int > &parts) |
Vector64 | GetDataFromPart (CString cmd, int part, int index) |
Vector64 | GetColumnFromPart (int part, int index) |
Vector64 | GetRowFromPart (int part, int index) |
Vector64 | GetDiagonalFromPart (int part) |
Private Attributes | |
IndexConverter * | mRows |
IndexConverter * | mColumns |
int | mStartNode |
int | mNodeCount |
Table::QuidTable * | mRowQuids |
Table::QuidTable * | mColumnQuids |
std::vector< VirtualMatrix * > | mParts |
std::vector< String > | mFeatures |
std::vector< double > | mWeights |
std::vector< double > | mAverages |
bool | mHasOwnAverages |
ILOG_VAR_DEC | |
Classes | |
class | IndexConverter |
A number of nodes load the parts and these nodes should respond to access requests. On these nodes the function StartEventLoop() should be called. Other nodes can access parts on other nodes by calling GetColumn() or GetDiagonal(). Because this class is created for use by the SVM these are the only accessors currently implemented.
Each class knows on what node a part is so communication can be kept to a minimum.
Definition at line 41 of file DistributedAccess.h.