SpikeGPU
1.0.0
|
#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< NodeType > | NodeVector |
typedef std::vector< EdgeType > | EdgeVector |
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) |
typedef cusp::array1d<bool, cusp::host_memory> spike::Graph< T >::BoolVector |
typedef cusp::array1d<double, cusp::host_memory> spike::Graph< T >::DoubleVector |
typedef EdgeVector::iterator spike::Graph< T >::EdgeIterator |
typedef EdgeVector::reverse_iterator spike::Graph< T >::EdgeRevIterator |
typedef EdgeT<T> spike::Graph< T >::EdgeType |
typedef std::vector<EdgeType> spike::Graph< T >::EdgeVector |
typedef cusp::array1d<int, cusp::host_memory> spike::Graph< T >::IntVector |
typedef cusp::coo_matrix<int, T, cusp::host_memory> spike::Graph< T >::MatrixCoo |
typedef IntVector spike::Graph< T >::MatrixMap |
typedef Vector spike::Graph< T >::MatrixMapF |
typedef Node spike::Graph< T >::NodeType |
typedef std::vector<NodeType> spike::Graph< T >::NodeVector |
typedef cusp::array1d<T, cusp::host_memory> spike::Graph< T >::Vector |
spike::Graph< T >::Graph | ( | bool | trackReordering = false | ) |
void spike::Graph< T >::assembleBandedMatrix | ( | int | bandwidth, |
IntVector & | ks_col, | ||
IntVector & | ks_row, | ||
Vector & | B, | ||
MatrixMap & | typeMap, | ||
MatrixMap & | bandedMatMap | ||
) |
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 | ||
) |
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 | ||
) |
int spike::Graph< T >::dropOff | ( | T | frac, |
int | maxBandwidth, | ||
T & | frac_actual | ||
) |
|
inline |
|
inline |
|
inline |
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 | ||
) |
void spike::Graph< T >::secondLevelReordering | ( | int | bandwidth, |
int | numPartitions, | ||
IntVector & | secondReorder, | ||
IntVector & | secondPerm, | ||
IntVector & | first_rows | ||
) |