Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

Impala::Core::Matrix::DistributedAccess Class Reference

This class handles the access to a distributed matrix (or array). More...

#include <DistributedAccess.h>

Inheritance diagram for Impala::Core::Matrix::DistributedAccess:

Inheritance graph
[legend]
Collaboration diagram for Impala::Core::Matrix::DistributedAccess:

Collaboration graph
[legend]
List of all members.

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::QuidTableGetRowQuids ()
Table::QuidTableGetColumnQuids ()
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)
VirtualMatrixGetPart (int partNr)
Matrix::MatStealPart ()
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

IndexConvertermRows
IndexConvertermColumns
int mStartNode
int mNodeCount
Table::QuidTablemRowQuids
Table::QuidTablemColumnQuids
std::vector< VirtualMatrix * > mParts
std::vector< StringmFeatures
std::vector< double > mWeights
std::vector< double > mAverages
bool mHasOwnAverages
 ILOG_VAR_DEC

Classes

class  IndexConverter

Detailed Description

This class handles the access to a distributed matrix (or array).

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.


The documentation for this class was generated from the following file:
Generated on Thu Jan 13 09:20:17 2011 for ImpalaSrc by  doxygen 1.5.1