Skylark (Sketching Library)
0.1
|
#include <iter_solver_op_CombBLAS.hpp>
Classes | |
struct | pow_t |
struct | scale_t |
struct | scaled_bin_op_t |
Public Types | |
typedef IndexType | index_t |
typedef ValueType | value_t |
typedef SpDCCols< IndexType, ValueType > | seq_matrix_t |
typedef FullyDistMultiVec < IndexType, ValueType > | mpi_multi_vector_t |
typedef mpi_multi_vector_t::mpi_vector_t | mpi_vector_t |
typedef SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > > | mpi_matrix_t |
typedef PlusTimesSRing < ValueType, ValueType > | semi_ring_t |
typedef pow_t< 2, false > | square_t |
typedef pow_t< 2, true > | square_root_t |
typedef scaled_bin_op_t < std::plus< value_t > > | ax_plus_by_t |
typedef index_t | index_type |
typedef value_t | value_type |
typedef mpi_matrix_t | matrix_type |
typedef mpi_vector_t | vector_type |
typedef mpi_multi_vector_t | multi_vector_type |
Static Public Member Functions | |
static mpi_matrix_t | transpose (const mpi_matrix_t &A) |
static void | mat_vec (const mpi_matrix_t &A, const mpi_multi_vector_t &X, mpi_multi_vector_t &AX) |
template<typename RandomAccessContainer > | |
static void | ax_plus_by (const RandomAccessContainer &a, mpi_multi_vector_t &X, const RandomAccessContainer &b, const mpi_multi_vector_t &Y) |
template<typename RandomAccessContainer > | |
static void | scale (const RandomAccessContainer &a, mpi_multi_vector_t &X) |
template<typename RandomAccessContainer > | |
static void | norm (const mpi_multi_vector_t &X, RandomAccessContainer &norms) |
static void | get_dim (const mpi_multi_vector_t &X, index_t &M, index_t &N) |
static void | get_dim (const mpi_matrix_t &A, index_t &M, index_t &N) |
template<typename RandomAccessContainer > | |
static void | residual_norms (const mpi_matrix_t &A, const mpi_multi_vector_t &B, const mpi_multi_vector_t &X, RandomAccessContainer &r_norms) |
Definition at line 18 of file iter_solver_op_CombBLAS.hpp.
typedef scaled_bin_op_t<std::plus<value_t> > skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::ax_plus_by_t |
Definition at line 81 of file iter_solver_op_CombBLAS.hpp.
typedef IndexType skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::index_t |
Typedefs for some variables
Definition at line 70 of file iter_solver_op_CombBLAS.hpp.
typedef index_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::index_type |
Definition at line 86 of file iter_solver_op_CombBLAS.hpp.
typedef mpi_matrix_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::matrix_type |
Definition at line 88 of file iter_solver_op_CombBLAS.hpp.
typedef SpParMat<IndexType, ValueType, SpDCCols<IndexType, ValueType> > skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::mpi_matrix_t |
Definition at line 77 of file iter_solver_op_CombBLAS.hpp.
typedef FullyDistMultiVec<IndexType, ValueType> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::mpi_multi_vector_t |
Definition at line 73 of file iter_solver_op_CombBLAS.hpp.
typedef mpi_multi_vector_t::mpi_vector_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::mpi_vector_t |
Definition at line 74 of file iter_solver_op_CombBLAS.hpp.
typedef mpi_multi_vector_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::multi_vector_type |
Definition at line 90 of file iter_solver_op_CombBLAS.hpp.
typedef PlusTimesSRing<ValueType,ValueType> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::semi_ring_t |
Definition at line 78 of file iter_solver_op_CombBLAS.hpp.
typedef SpDCCols<IndexType, ValueType> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::seq_matrix_t |
Definition at line 72 of file iter_solver_op_CombBLAS.hpp.
typedef pow_t<2, true> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::square_root_t |
Definition at line 80 of file iter_solver_op_CombBLAS.hpp.
typedef pow_t<2, false> skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::square_t |
Definition at line 79 of file iter_solver_op_CombBLAS.hpp.
typedef ValueType skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::value_t |
Definition at line 71 of file iter_solver_op_CombBLAS.hpp.
typedef value_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::value_type |
Definition at line 87 of file iter_solver_op_CombBLAS.hpp.
typedef mpi_vector_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::vector_type |
Definition at line 89 of file iter_solver_op_CombBLAS.hpp.
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::ax_plus_by | ( | const RandomAccessContainer & | a, |
mpi_multi_vector_t & | X, | ||
const RandomAccessContainer & | b, | ||
const mpi_multi_vector_t & | Y | ||
) | [inline, static] |
Basic error checking on the dimensions for the multi-vectors
Perform all the required element-wise operations one by one
Definition at line 116 of file iter_solver_op_CombBLAS.hpp.
References FullyDistMultiVec< IndexType, ValueType >::dim, and FullyDistMultiVec< IndexType, ValueType >::size.
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::get_dim | ( | const mpi_multi_vector_t & | X, |
index_t & | M, | ||
index_t & | N | ||
) | [inline, static] |
Definition at line 145 of file iter_solver_op_CombBLAS.hpp.
References FullyDistMultiVec< IndexType, ValueType >::dim, and FullyDistMultiVec< IndexType, ValueType >::size.
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::get_dim | ( | const mpi_matrix_t & | A, |
index_t & | M, | ||
index_t & | N | ||
) | [inline, static] |
Definition at line 150 of file iter_solver_op_CombBLAS.hpp.
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::mat_vec | ( | const mpi_matrix_t & | A, |
const mpi_multi_vector_t & | X, | ||
mpi_multi_vector_t & | AX | ||
) | [inline, static] |
Get the dimensions and make sure that they agree
As SpMM is not provided, do the multiplication one at a time
Definition at line 102 of file iter_solver_op_CombBLAS.hpp.
References FullyDistMultiVec< IndexType, ValueType >::dim, m, n, and FullyDistMultiVec< IndexType, ValueType >::size.
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::norm | ( | const mpi_multi_vector_t & | X, |
RandomAccessContainer & | norms | ||
) | [inline, static] |
Definition at line 139 of file iter_solver_op_CombBLAS.hpp.
References FullyDistMultiVec< IndexType, ValueType >::size.
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::residual_norms | ( | const mpi_matrix_t & | A, |
const mpi_multi_vector_t & | B, | ||
const mpi_multi_vector_t & | X, | ||
RandomAccessContainer & | r_norms | ||
) | [inline, static] |
1. Compute AX so that we can subtract B from it
2. Subtract AX from B to form R
3. Compute the norms of the residual
Definition at line 156 of file iter_solver_op_CombBLAS.hpp.
References FullyDistMultiVec< IndexType, ValueType >::size.
static void skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::scale | ( | const RandomAccessContainer & | a, |
mpi_multi_vector_t & | X | ||
) | [inline, static] |
Definition at line 132 of file iter_solver_op_CombBLAS.hpp.
References FullyDistMultiVec< IndexType, ValueType >::size.
static mpi_matrix_t skylark::nla::iter_solver_op_t< SpParMat< IndexType, ValueType, SpDCCols< IndexType, ValueType > >, FullyDistMultiVec< IndexType, ValueType > >::transpose | ( | const mpi_matrix_t & | A | ) | [inline, static] |
Definition at line 96 of file iter_solver_op_CombBLAS.hpp.