SpikeGPU  1.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
spike::Graph< T > Class Template Reference

#include <graph.h>

Public Types

typedef cusp::coo_matrix< int,
T, cusp::host_memory > 
MatrixCoo
 
typedef cusp::array1d< T,
cusp::host_memory > 
Vector
 
typedef cusp::array1d< double,
cusp::host_memory > 
DoubleVector
 
typedef cusp::array1d< int,
cusp::host_memory > 
IntVector
 
typedef cusp::array1d< bool,
cusp::host_memory > 
BoolVector
 
typedef Vector MatrixMapF
 
typedef IntVector MatrixMap
 
typedef Node NodeType
 
typedef EdgeT< T > EdgeType
 
typedef std::vector< NodeTypeNodeVector
 
typedef std::vector< EdgeTypeEdgeVector
 
typedef EdgeVector::iterator EdgeIterator
 
typedef
EdgeVector::reverse_iterator 
EdgeRevIterator
 

Public Member Functions

 Graph (bool trackReordering=false)
 
double getTimeMC64 () const
 
double getTimeRCM () const
 
double getTimeDropoff () const
 
int reorder (const MatrixCoo &Acoo, bool doMC64, bool scale, IntVector &optReordering, IntVector &optPerm, IntVector &mc64RowPerm, Vector &mc64RowScale, Vector &mc64ColScale, MatrixMapF &scaleMap, int &k_mc64)
 
int dropOff (T frac, int maxBandwidth, T &frac_actual)
 
void assembleOffDiagMatrices (int bandwidth, int numPartitions, Vector &WV_host, Vector &offDiags_host, IntVector &offDiagWidths_left, IntVector &offDiagWidths_right, IntVector &offDiagPerms_left, IntVector &offDiagPerms_right, MatrixMap &typeMap, MatrixMap &offDiagMap, MatrixMap &WVMap)
 
void secondLevelReordering (int bandwidth, int numPartitions, IntVector &secondReorder, IntVector &secondPerm, IntVector &first_rows)
 
void assembleBandedMatrix (int bandwidth, IntVector &ks_col, IntVector &ks_row, Vector &B, MatrixMap &typeMap, MatrixMap &bandedMatMap)
 
void assembleBandedMatrix (int bandwidth, int numPartitions, IntVector &ks_col, IntVector &ks_row, Vector &B, IntVector &ks, IntVector &BOffsets, MatrixMap &typeMap, MatrixMap &bandedMatMap)
 

Member Typedef Documentation

template<typename T >
typedef cusp::array1d<bool, cusp::host_memory> spike::Graph< T >::BoolVector
template<typename T >
typedef cusp::array1d<double, cusp::host_memory> spike::Graph< T >::DoubleVector
template<typename T >
typedef EdgeVector::iterator spike::Graph< T >::EdgeIterator
template<typename T >
typedef EdgeVector::reverse_iterator spike::Graph< T >::EdgeRevIterator
template<typename T >
typedef EdgeT<T> spike::Graph< T >::EdgeType
template<typename T >
typedef std::vector<EdgeType> spike::Graph< T >::EdgeVector
template<typename T >
typedef cusp::array1d<int, cusp::host_memory> spike::Graph< T >::IntVector
template<typename T >
typedef cusp::coo_matrix<int, T, cusp::host_memory> spike::Graph< T >::MatrixCoo
template<typename T >
typedef IntVector spike::Graph< T >::MatrixMap
template<typename T >
typedef Vector spike::Graph< T >::MatrixMapF
template<typename T >
typedef Node spike::Graph< T >::NodeType
template<typename T >
typedef std::vector<NodeType> spike::Graph< T >::NodeVector
template<typename T >
typedef cusp::array1d<T, cusp::host_memory> spike::Graph< T >::Vector

Constructor & Destructor Documentation

template<typename T >
spike::Graph< T >::Graph ( bool  trackReordering = false)

Member Function Documentation

template<typename T >
void spike::Graph< T >::assembleBandedMatrix ( int  bandwidth,
IntVector ks_col,
IntVector ks_row,
Vector B,
MatrixMap typeMap,
MatrixMap bandedMatMap 
)
template<typename T >
void spike::Graph< T >::assembleBandedMatrix ( int  bandwidth,
int  numPartitions,
IntVector ks_col,
IntVector ks_row,
Vector B,
IntVector ks,
IntVector BOffsets,
MatrixMap typeMap,
MatrixMap bandedMatMap 
)
template<typename T >
void spike::Graph< T >::assembleOffDiagMatrices ( int  bandwidth,
int  numPartitions,
Vector WV_host,
Vector offDiags_host,
IntVector offDiagWidths_left,
IntVector offDiagWidths_right,
IntVector offDiagPerms_left,
IntVector offDiagPerms_right,
MatrixMap typeMap,
MatrixMap offDiagMap,
MatrixMap WVMap 
)
template<typename T >
int spike::Graph< T >::dropOff ( frac,
int  maxBandwidth,
T &  frac_actual 
)
template<typename T >
double spike::Graph< T >::getTimeDropoff ( ) const
inline
template<typename T >
double spike::Graph< T >::getTimeMC64 ( ) const
inline
template<typename T >
double spike::Graph< T >::getTimeRCM ( ) const
inline
template<typename T >
int spike::Graph< T >::reorder ( const MatrixCoo Acoo,
bool  doMC64,
bool  scale,
IntVector optReordering,
IntVector optPerm,
IntVector mc64RowPerm,
Vector mc64RowScale,
Vector mc64ColScale,
MatrixMapF scaleMap,
int &  k_mc64 
)
template<typename T >
void spike::Graph< T >::secondLevelReordering ( int  bandwidth,
int  numPartitions,
IntVector secondReorder,
IntVector secondPerm,
IntVector first_rows 
)

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