Classes | |
| struct | amg_id_influence |
| Helper struct for sequential classical one-pass coarsening. More... | |
Functions | |
| template<typename NumericT > | |
| void | amg_influence_trivial (compressed_matrix< NumericT > const &A, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| Routine for taking all connections in the matrix as strong. More... | |
| template<typename NumericT > | |
| void | amg_influence_advanced (compressed_matrix< NumericT > const &A, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| Routine for extracting strongly connected points considering a user-provided threshold value. More... | |
| template<typename NumericT > | |
| void | amg_influence (compressed_matrix< NumericT > const &A, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| Dispatcher for influence processing. More... | |
| void | enumerate_coarse_points (viennacl::linalg::detail::amg::amg_level_context &amg_context) |
| Assign IDs to coarse points. More... | |
| bool | operator> (amg_id_influence const &a, amg_id_influence const &b) |
| template<typename NumericT > | |
| void | amg_coarse_classic_onepass (compressed_matrix< NumericT > const &A, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| Classical (RS) one-pass coarsening. Single-Threaded! (VIENNACL_AMG_COARSE_CLASSIC_ONEPASS) More... | |
| template<typename NumericT > | |
| void | amg_coarse_ag_stage1_sequential (compressed_matrix< NumericT > const &A, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| AG (aggregation based) coarsening, single-threaded version of stage 1. More... | |
| template<typename NumericT > | |
| void | amg_coarse_ag_stage1_mis2 (compressed_matrix< NumericT > const &A, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| AG (aggregation based) coarsening, multi-threaded version of stage 1 using parallel maximum independent sets. More... | |
| template<typename NumericT > | |
| void | amg_coarse_ag (compressed_matrix< NumericT > const &A, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| AG (aggregation based) coarsening. Partially single-threaded version (VIENNACL_AMG_COARSE_AG) More... | |
| template<typename MatrixT > | |
| void | amg_coarse (MatrixT &A, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| Entry point and dispatcher for coarsening procedures. More... | |
| template<typename NumericT > | |
| void | amg_interpol_direct (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &P, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| Direct interpolation. Multi-threaded! (VIENNACL_AMG_INTERPOL_DIRECT) More... | |
| template<typename NumericT > | |
| void | amg_interpol_ag (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &P, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| AG (aggregation based) interpolation. Multi-Threaded! (VIENNACL_INTERPOL_AG) More... | |
| template<typename NumericT > | |
| void | amg_interpol_sa (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &P, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| Smoothed aggregation interpolation. Multi-Threaded! (VIENNACL_INTERPOL_SA) More... | |
| template<typename MatrixT > | |
| void | amg_interpol (MatrixT const &A, MatrixT &P, viennacl::linalg::detail::amg::amg_level_context &amg_context, viennacl::linalg::amg_tag &tag) |
| Dispatcher for building the interpolation matrix. More... | |
| template<typename NumericT > | |
| void | amg_transpose (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &B) |
| Computes B = trans(A). More... | |
| template<typename NumericT , unsigned int AlignmentV> | |
| void | assign_to_dense (viennacl::compressed_matrix< NumericT, AlignmentV > const &A, viennacl::matrix_base< NumericT > &B) |
| template<typename NumericT > | |
| void | smooth_jacobi (unsigned int iterations, compressed_matrix< NumericT > const &A, vector< NumericT > &x, vector< NumericT > &x_backup, vector< NumericT > const &rhs_smooth, NumericT weight) |
| Damped Jacobi Smoother (CUDA version) More... | |
| void viennacl::linalg::host_based::amg::amg_coarse | ( | MatrixT & | A, |
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
Entry point and dispatcher for coarsening procedures.
| A | Operator matrix for the respective level |
| amg_context | AMG datastructure object for the grid hierarchy |
| tag | AMG preconditioner tag |
Definition at line 697 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_coarse_ag | ( | compressed_matrix< NumericT > const & | A, |
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
AG (aggregation based) coarsening. Partially single-threaded version (VIENNACL_AMG_COARSE_AG)
| A | Operator matrix for the respective level |
| amg_context | AMG datastructure object for the grid hierarchy |
| tag | AMG preconditioner tag |
Definition at line 604 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_coarse_ag_stage1_mis2 | ( | compressed_matrix< NumericT > const & | A, |
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
AG (aggregation based) coarsening, multi-threaded version of stage 1 using parallel maximum independent sets.
| A | Operator matrix for the respective level |
| amg_context | AMG datastructure object for the grid hierarchy |
| tag | AMG preconditioner tag |
Definition at line 418 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_coarse_ag_stage1_sequential | ( | compressed_matrix< NumericT > const & | A, |
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
AG (aggregation based) coarsening, single-threaded version of stage 1.
| A | Operator matrix for the respective level |
| amg_context | AMG datastructure object for the grid hierarchy |
| tag | AMG preconditioner tag |
Definition at line 367 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_coarse_classic_onepass | ( | compressed_matrix< NumericT > const & | A, |
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
Classical (RS) one-pass coarsening. Single-Threaded! (VIENNACL_AMG_COARSE_CLASSIC_ONEPASS)
| A | Operator matrix for the respective level |
| amg_context | AMG datastructure object for the grid hierarchy |
| tag | AMG preconditioner tag |
Definition at line 284 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_influence | ( | compressed_matrix< NumericT > const & | A, |
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
Dispatcher for influence processing.
Definition at line 224 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_influence_advanced | ( | compressed_matrix< NumericT > const & | A, |
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
Routine for extracting strongly connected points considering a user-provided threshold value.
Definition at line 84 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_influence_trivial | ( | compressed_matrix< NumericT > const & | A, |
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
Routine for taking all connections in the matrix as strong.
Definition at line 50 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_interpol | ( | MatrixT const & | A, |
| MatrixT & | P, | ||
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
Dispatcher for building the interpolation matrix.
| A | Operator matrix |
| P | Prolongation matrix |
| amg_context | AMG hierarchy datastructures |
| tag | AMG configuration tag |
Definition at line 952 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_interpol_ag | ( | compressed_matrix< NumericT > const & | A, |
| compressed_matrix< NumericT > & | P, | ||
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
AG (aggregation based) interpolation. Multi-Threaded! (VIENNACL_INTERPOL_AG)
| A | Operator matrix |
| P | Prolongation matrix |
| amg_context | AMG hierarchy datastructures |
| tag | AMG configuration tag |
Definition at line 841 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_interpol_direct | ( | compressed_matrix< NumericT > const & | A, |
| compressed_matrix< NumericT > & | P, | ||
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
Direct interpolation. Multi-threaded! (VIENNACL_AMG_INTERPOL_DIRECT)
| A | Operator matrix |
| P | Prolongation matrix |
| amg_context | AMG hierarchy datastructures |
| tag | AMG preconditioner tag |
Definition at line 724 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_interpol_sa | ( | compressed_matrix< NumericT > const & | A, |
| compressed_matrix< NumericT > & | P, | ||
| viennacl::linalg::detail::amg::amg_level_context & | amg_context, | ||
| viennacl::linalg::amg_tag & | tag | ||
| ) |
Smoothed aggregation interpolation. Multi-Threaded! (VIENNACL_INTERPOL_SA)
| A | Operator matrix |
| P | Prolongation matrix |
| amg_context | AMG hierarchy datastructures |
| tag | AMG configuration tag |
Definition at line 880 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::amg_transpose | ( | compressed_matrix< NumericT > const & | A, |
| compressed_matrix< NumericT > & | B | ||
| ) |
Computes B = trans(A).
To be replaced by native functionality in ViennaCL.
Definition at line 972 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::assign_to_dense | ( | viennacl::compressed_matrix< NumericT, AlignmentV > const & | A, |
| viennacl::matrix_base< NumericT > & | B | ||
| ) |
Assign sparse matrix A to dense matrix B
Definition at line 1042 of file amg_operations.hpp.
|
inline |
Assign IDs to coarse points.
Definition at line 235 of file amg_operations.hpp.
|
inline |
Definition at line 268 of file amg_operations.hpp.
| void viennacl::linalg::host_based::amg::smooth_jacobi | ( | unsigned int | iterations, |
| compressed_matrix< NumericT > const & | A, | ||
| vector< NumericT > & | x, | ||
| vector< NumericT > & | x_backup, | ||
| vector< NumericT > const & | rhs_smooth, | ||
| NumericT | weight | ||
| ) |
Damped Jacobi Smoother (CUDA version)
| iterations | Number of smoother iterations |
| A | Operator matrix for the smoothing |
| x | The vector smoothing is applied to |
| x_backup | (Different) Vector holding the same values as x |
| rhs_smooth | The right hand side of the equation for the smoother |
| weight | Damping factor. 0: No effect of smoother. 1: Undamped Jacobi iteration |
Definition at line 1074 of file amg_operations.hpp.