#include <SpDCCols.h>


Classes | |
| class | SpColIter |
| Iterate over (sparse) columns of the sparse matrix. More... | |
Public Types | |
| typedef IT | LocalIT |
| typedef NT | LocalNT |
| typedef IT | LocalIT |
| typedef NT | LocalNT |
| typedef IT | LocalIT |
| typedef NT | LocalNT |
Static Public Attributes | |
| static const IT | esscount = static_cast<IT>(4) |
Definition at line 51 of file SpDCCols.h.
Definition at line 54 of file SpDCCols.h.
Definition at line 54 of file SpDCCols.h.
Definition at line 54 of file SpDCCols.h.
Definition at line 55 of file SpDCCols.h.
Definition at line 55 of file SpDCCols.h.
Definition at line 55 of file SpDCCols.h.
Definition at line 55 of file SpDCCols.cpp.
| combblas::SpDCCols< IT, NT >::SpDCCols | ( | IT | nRow, |
| IT | nCol, | ||
| IT | nTuples, | ||
| const std::tuple< IT, IT, NT > * | tuples, | ||
| bool | transpose | ||
| ) |
Multithreaded Constructor for converting tuples matrix -> SpDCCols
| [in] | rhs | if transpose=true, then tuples is assumed to be a row sorted list of tuple objects else tuples is assumed to be a column sorted list of tuple objects |
Definition at line 198 of file SpDCCols.cpp.
Definition at line 88 of file SpDCCols.cpp.
Definition at line 65 of file SpDCCols.cpp.
| combblas::SpDCCols< IT, NT >::SpDCCols | ( | IT | nRow, |
| IT | nCol, | ||
| IT | nnz1, | ||
| const std::tuple< IT, IT, NT > * | rhs, | ||
| bool | transpose | ||
| ) |
| combblas::SpDCCols< IT, NT >::SpDCCols | ( | IT | nRow, |
| IT | nCol, | ||
| IT | nnz1, | ||
| const std::tuple< IT, IT, NT > * | rhs, | ||
| bool | transpose | ||
| ) |
|
inline |
Definition at line 249 of file SpDCCols.h.
|
inline |
Definition at line 249 of file SpDCCols.h.
|
inline |
Definition at line 249 of file SpDCCols.h.
Definition at line 197 of file SpDCCols.h.
Definition at line 197 of file SpDCCols.h.
Definition at line 197 of file SpDCCols.h.
Definition at line 204 of file SpDCCols.h.
Definition at line 204 of file SpDCCols.h.
Definition at line 204 of file SpDCCols.h.
|
inline |
| ccol | Return the beginning iterator for the nonzeros of the current column |
Definition at line 228 of file SpDCCols.h.
|
inline |
| ccol | Return the beginning iterator for the nonzeros of the current column |
Definition at line 228 of file SpDCCols.h.
|
inline |
| ccol | Return the beginning iterator for the nonzeros of the current column |
Definition at line 228 of file SpDCCols.h.
|
inline |
| i | multithreaded version |
Definition at line 238 of file SpDCCols.h.
|
inline |
| i | multithreaded version |
Definition at line 238 of file SpDCCols.h.
|
inline |
| i | multithreaded version |
Definition at line 238 of file SpDCCols.h.
Concatenates (merges) multiple matrices (cut along the columns) into 1 piece ColSplit() method should have been executed on the object beforehand
Definition at line 939 of file SpDCCols.cpp.
| void combblas::SpDCCols< IT, NT >::ColSplit | ( | int | parts, |
| std::vector< SpDCCols< IT, NT > > & | matrices | ||
| ) |
Splits the matrix into "parts", simply by cutting along the columns Simple algorithm that doesn't intend to split perfectly, but it should do a pretty good job Practically destructs the calling object also (frees most of its memory)
Definition at line 897 of file SpDCCols.cpp.
| void combblas::SpDCCols< IT, NT >::ColSplit | ( | int | parts, |
| std::vector< SpDCCols< IT, NT > > & | matrices | ||
| ) |
| void combblas::SpDCCols< IT, NT >::ColSplit | ( | int | parts, |
| std::vector< SpDCCols< IT, NT > > & | matrices | ||
| ) |
Definition at line 695 of file SpDCCols.cpp.
| void combblas::SpDCCols< IT, NT >::CreateImpl | ( | IT * | _cp, |
| IT * | _jc, | ||
| IT * | _ir, | ||
| NT * | _numx, | ||
| IT | _nz, | ||
| IT | _nzc, | ||
| IT | _m, | ||
| IT | _n | ||
| ) |
Definition at line 682 of file SpDCCols.cpp.
| void combblas::SpDCCols< IT, NT >::CreateImpl | ( | IT * | _cp, |
| IT * | _jc, | ||
| IT * | _ir, | ||
| NT * | _numx, | ||
| IT | _nz, | ||
| IT | _nzc, | ||
| IT | _m, | ||
| IT | _n | ||
| ) |
| void combblas::SpDCCols< IT, NT >::CreateImpl | ( | IT * | _cp, |
| IT * | _jc, | ||
| IT * | _ir, | ||
| NT * | _numx, | ||
| IT | _nz, | ||
| IT | _nzc, | ||
| IT | _m, | ||
| IT | _n | ||
| ) |
| void combblas::SpDCCols< IT, NT >::CreateImpl | ( | IT | size, |
| IT | nRow, | ||
| IT | nCol, | ||
| std::tuple< IT, IT, NT > * | mytuples | ||
| ) |
Definition at line 709 of file SpDCCols.cpp.
| void combblas::SpDCCols< IT, NT >::CreateImpl | ( | IT | size, |
| IT | nRow, | ||
| IT | nCol, | ||
| std::tuple< IT, IT, NT > * | mytuples | ||
| ) |
| void combblas::SpDCCols< IT, NT >::CreateImpl | ( | IT | size, |
| IT | nRow, | ||
| IT | nCol, | ||
| std::tuple< IT, IT, NT > * | mytuples | ||
| ) |
Definition at line 212 of file SpDCCols.h.
Definition at line 212 of file SpDCCols.h.
Definition at line 212 of file SpDCCols.h.
Definition at line 220 of file SpDCCols.h.
Definition at line 220 of file SpDCCols.h.
Definition at line 220 of file SpDCCols.h.
|
inline |
| ccol | Return the ending iterator for the nonzeros of the current column |
Definition at line 233 of file SpDCCols.h.
|
inline |
| ccol | Return the ending iterator for the nonzeros of the current column |
Definition at line 233 of file SpDCCols.h.
|
inline |
| ccol | Return the ending iterator for the nonzeros of the current column |
Definition at line 233 of file SpDCCols.h.
|
inline |
| i | multithreaded version |
Definition at line 243 of file SpDCCols.h.
|
inline |
| i | multithreaded version |
Definition at line 243 of file SpDCCols.h.
|
inline |
| i | multithreaded version |
Definition at line 243 of file SpDCCols.h.
Definition at line 623 of file SpDCCols.cpp.
@Pre {scaler should NOT contain any zero entries}
Definition at line 663 of file SpDCCols.cpp.
| std::ifstream & combblas::SpDCCols< IT, NT >::get | ( | std::ifstream & | infile | ) |
Definition at line 1195 of file SpDCCols.cpp.
| std::ifstream & combblas::SpDCCols< IT, NT >::get | ( | std::ifstream & | infile | ) |
| std::ifstream & combblas::SpDCCols< IT, NT >::get | ( | std::ifstream & | infile | ) |
Definition at line 787 of file SpDCCols.cpp.
Definition at line 322 of file SpDCCols.h.
Definition at line 322 of file SpDCCols.h.
Definition at line 322 of file SpDCCols.h.
Definition at line 327 of file SpDCCols.h.
Definition at line 327 of file SpDCCols.h.
Definition at line 327 of file SpDCCols.h.
| std::vector< IT > combblas::SpDCCols< IT, NT >::GetEssentials | ( | ) | const |
Definition at line 748 of file SpDCCols.cpp.
| std::vector< IT > combblas::SpDCCols< IT, NT >::GetEssentials | ( | ) | const |
| std::vector< IT > combblas::SpDCCols< IT, NT >::GetEssentials | ( | ) | const |
Definition at line 332 of file SpDCCols.h.
Definition at line 332 of file SpDCCols.h.
Definition at line 332 of file SpDCCols.h.
Definition at line 333 of file SpDCCols.h.
Definition at line 333 of file SpDCCols.h.
Definition at line 333 of file SpDCCols.h.
Definition at line 300 of file SpDCCols.h.
Definition at line 300 of file SpDCCols.h.
Definition at line 300 of file SpDCCols.h.
Definition at line 301 of file SpDCCols.h.
Definition at line 301 of file SpDCCols.h.
Definition at line 301 of file SpDCCols.h.
Definition at line 299 of file SpDCCols.h.
Definition at line 299 of file SpDCCols.h.
Definition at line 299 of file SpDCCols.h.
Definition at line 303 of file SpDCCols.h.
Definition at line 303 of file SpDCCols.h.
Definition at line 303 of file SpDCCols.h.
Definition at line 302 of file SpDCCols.h.
Definition at line 302 of file SpDCCols.h.
Definition at line 302 of file SpDCCols.h.
Definition at line 298 of file SpDCCols.h.
Definition at line 298 of file SpDCCols.h.
Definition at line 298 of file SpDCCols.h.
Merges two matrices (cut along the columns) into 1 piece Split method should have been executed on the object beforehand
Definition at line 990 of file SpDCCols.cpp.
NNT: New numeric type.
Definition at line 760 of file SpDCCols.cpp.
NNT: New numeric type, NIT: New index type.
Definition at line 774 of file SpDCCols.cpp.
NNT: New numeric type, NIT: New index type.
NNT: New numeric type, NIT: New index type.
| SpDCCols< IT, NT > combblas::SpDCCols< IT, NT >::operator() | ( | const std::vector< IT > & | ri, |
| const std::vector< IT > & | ci | ||
| ) | const |
The almighty indexing polyalgorithm Calls different subroutines depending the sparseness of ri/ci
Definition at line 1150 of file SpDCCols.cpp.
| SpDCCols< IT, NT > combblas::SpDCCols< IT, NT >::operator() | ( | const std::vector< IT > & | ri, |
| const std::vector< IT > & | ci | ||
| ) | const |
| SpDCCols< IT, NT > combblas::SpDCCols< IT, NT >::operator() | ( | const std::vector< IT > & | ri, |
| const std::vector< IT > & | ci | ||
| ) | const |
Definition at line 1115 of file SpDCCols.cpp.
Definition at line 394 of file SpDCCols.cpp.
The assignment operator operates on an existing object The assignment operator is the only operator that is not inherited. But there is no need to call base's assigment operator as it has no data members
Definition at line 365 of file SpDCCols.cpp.
Definition at line 74 of file SpDCCols.h.
Definition at line 74 of file SpDCCols.h.
Definition at line 74 of file SpDCCols.h.
| int combblas::SpDCCols< IT, NT >::PlusEq_AnXBn | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
C += A*B (Using ColByCol Algorithm) This version is currently limited to multiplication of matrices with the same precision (e.g. it can't multiply double-precision matrices with booleans) The multiplication is on the specified semiring (passed as parameter)
Definition at line 1071 of file SpDCCols.cpp.
| int combblas::SpDCCols< IT, NT >::PlusEq_AnXBn | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
| int combblas::SpDCCols< IT, NT >::PlusEq_AnXBn | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
| int combblas::SpDCCols< IT, NT >::PlusEq_AnXBt | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
C += A*B' (Using OuterProduct Algorithm) This version is currently limited to multiplication of matrices with the same precision (e.g. it can't multiply double-precision matrices with booleans) The multiplication is on the specified semiring (passed as parameter)
Definition at line 1027 of file SpDCCols.cpp.
| int combblas::SpDCCols< IT, NT >::PlusEq_AnXBt | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
| int combblas::SpDCCols< IT, NT >::PlusEq_AnXBt | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
| int combblas::SpDCCols< IT, NT >::PlusEq_AtXBn | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
Definition at line 1099 of file SpDCCols.cpp.
| int combblas::SpDCCols< IT, NT >::PlusEq_AtXBn | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
| int combblas::SpDCCols< IT, NT >::PlusEq_AtXBn | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
| int combblas::SpDCCols< IT, NT >::PlusEq_AtXBt | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
Definition at line 1107 of file SpDCCols.cpp.
| int combblas::SpDCCols< IT, NT >::PlusEq_AtXBt | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
| int combblas::SpDCCols< IT, NT >::PlusEq_AtXBt | ( | const SpDCCols< IT, NT > & | A, |
| const SpDCCols< IT, NT > & | B | ||
| ) |
Definition at line 1235 of file SpDCCols.cpp.
| void combblas::SpDCCols< IT, NT >::PrintInfo | ( | std::ofstream & | out | ) | const |
Definition at line 1211 of file SpDCCols.cpp.
| void combblas::SpDCCols< IT, NT >::PrintInfo | ( | std::ofstream & | out | ) | const |
| void combblas::SpDCCols< IT, NT >::PrintInfo | ( | std::ofstream & | out | ) | const |
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::Prune | ( | _UnaryOperation | __unary_op, |
| bool | inPlace | ||
| ) |
Definition at line 478 of file SpDCCols.cpp.
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::Prune | ( | _UnaryOperation | __unary_op, |
| bool | inPlace | ||
| ) |
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::Prune | ( | _UnaryOperation | __unary_op, |
| bool | inPlace | ||
| ) |
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::PruneColumn | ( | IT * | pinds, |
| NT * | pvals, | ||
| _BinaryOperation | __binary_op, | ||
| bool | inPlace | ||
| ) |
Definition at line 575 of file SpDCCols.cpp.
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::PruneColumn | ( | IT * | pinds, |
| NT * | pvals, | ||
| _BinaryOperation | __binary_op, | ||
| bool | inPlace | ||
| ) |
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::PruneColumn | ( | IT * | pinds, |
| NT * | pvals, | ||
| _BinaryOperation | __binary_op, | ||
| bool | inPlace | ||
| ) |
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::PruneColumn | ( | NT * | pvals, |
| _BinaryOperation | __binary_op, | ||
| bool | inPlace | ||
| ) |
Definition at line 527 of file SpDCCols.cpp.
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::PruneColumn | ( | NT * | pvals, |
| _BinaryOperation | __binary_op, | ||
| bool | inPlace | ||
| ) |
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::PruneColumn | ( | NT * | pvals, |
| _BinaryOperation | __binary_op, | ||
| bool | inPlace | ||
| ) |
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::PruneI | ( | _UnaryOperation | __unary_op, |
| bool | inPlace, | ||
| GlobalIT | rowOffset, | ||
| GlobalIT | colOffset | ||
| ) |
Definition at line 431 of file SpDCCols.cpp.
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::PruneI | ( | _UnaryOperation | __unary_op, |
| bool | inPlace, | ||
| GlobalIT | rowOffset, | ||
| GlobalIT | colOffset | ||
| ) |
| SpDCCols< IT, NT > * combblas::SpDCCols< IT, NT >::PruneI | ( | _UnaryOperation | __unary_op, |
| bool | inPlace, | ||
| GlobalIT | rowOffset, | ||
| GlobalIT | colOffset | ||
| ) |
| std::ofstream & combblas::SpDCCols< IT, NT >::put | ( | std::ofstream & | outfile | ) | const |
Definition at line 1181 of file SpDCCols.cpp.
| std::ofstream & combblas::SpDCCols< IT, NT >::put | ( | std::ofstream & | outfile | ) | const |
| std::ofstream & combblas::SpDCCols< IT, NT >::put | ( | std::ofstream & | outfile | ) | const |
Definition at line 278 of file SpDCCols.h.
Definition at line 278 of file SpDCCols.h.
Definition at line 278 of file SpDCCols.h.
Splits the matrix into two parts, simply by cutting along the columns Simple algorithm that doesn't intend to split perfectly, but it should do a pretty good job Practically destructs the calling object also (frees most of its memory)
Splits the matrix into two parts, simply by cutting along the columns Simple algorithm that doesn't intend to split perfectly, but it should do a pretty good job Practically destructs the calling object also (frees most of its memory)
Splits the matrix into two parts, simply by cutting along the columns Simple algorithm that doesn't intend to split perfectly, but it should do a pretty good job Practically destructs the calling object also (frees most of its memory)
Definition at line 867 of file SpDCCols.cpp.
Mutator version, replaces the calling object.
O(nnz log(nnz)) time Transpose function
Definition at line 815 of file SpDCCols.cpp.
Mutator version, replaces the calling object.
Mutator version, replaces the calling object.
Const version, doesn't touch the existing object.
O(nnz log(nnz)) time Transpose function
Definition at line 838 of file SpDCCols.cpp.
Const version, doesn't touch the existing object.
Const version, doesn't touch the existing object.
O(nnz log(nnz)) time Transpose function
Definition at line 852 of file SpDCCols.cpp.
|
inline |
Definition at line 265 of file SpDCCols.h.
|
inline |
Definition at line 265 of file SpDCCols.h.
|
inline |
Definition at line 265 of file SpDCCols.h.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
Definition at line 362 of file SpDCCols.h.
Definition at line 365 of file SpDCCols.h.
Definition at line 365 of file SpDCCols.h.
Definition at line 365 of file SpDCCols.h.
|
friend |
SpTuples(A*B) (Using ColByCol Algorithm) Returns the tuples for efficient merging later Support mixed precision multiplication The multiplication is on the specified semiring (passed as parameter)
|
friend |
SpTuples(A*B) (Using ColByCol Algorithm) Returns the tuples for efficient merging later Support mixed precision multiplication The multiplication is on the specified semiring (passed as parameter)
|
friend |
SpTuples(A*B) (Using ColByCol Algorithm) Returns the tuples for efficient merging later Support mixed precision multiplication The multiplication is on the specified semiring (passed as parameter)
Definition at line 351 of file SpDCCols.h.
Definition at line 352 of file SpDCCols.h.
|
static |
Definition at line 296 of file SpDCCols.h.