Implementations of specialized routines for the Chow-Patel parallel ILU preconditioner using the host (OpenMP) More...
#include <cmath>#include <algorithm>#include "viennacl/forwards.h"#include "viennacl/scalar.hpp"#include "viennacl/tools/tools.hpp"#include "viennacl/meta/predicate.hpp"#include "viennacl/meta/enable_if.hpp"#include "viennacl/traits/size.hpp"#include "viennacl/traits/start.hpp"#include "viennacl/linalg/host_based/common.hpp"#include "viennacl/linalg/vector_operations.hpp"#include "viennacl/traits/stride.hpp"Go to the source code of this file.
Namespaces | |
| viennacl | |
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. | |
| viennacl::linalg | |
| Provides all linear algebra operations which are not covered by operator overloads. | |
| viennacl::linalg::host_based | |
| Holds all compute kernels with conventional host-based execution (buffers in CPU RAM). | |
Macros | |
| #define | VIENNACL_OPENMP_ILU_MIN_SIZE 5000 |
Functions | |
| template<typename NumericT > | |
| void | viennacl::linalg::host_based::extract_L (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &L) |
| template<typename NumericT > | |
| void | viennacl::linalg::host_based::icc_scale (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &L) |
| Scales the values extracted from A such that A' = DAD has unit diagonal. Updates values from A in L and U accordingly. More... | |
| template<typename NumericT > | |
| void | viennacl::linalg::host_based::icc_chow_patel_sweep (compressed_matrix< NumericT > &L, vector< NumericT > &aij_L) |
| Performs one nonlinear relaxation step in the Chow-Patel-ICC using OpenMP (cf. Algorithm 3 in paper, but for L rather than U) More... | |
| template<typename NumericT > | |
| void | viennacl::linalg::host_based::extract_LU (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &L, compressed_matrix< NumericT > &U) |
| template<typename NumericT > | |
| void | viennacl::linalg::host_based::ilu_scale (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &L, compressed_matrix< NumericT > &U) |
| Scales the values extracted from A such that A' = DAD has unit diagonal. Updates values from A in L and U accordingly. More... | |
| template<typename NumericT > | |
| void | viennacl::linalg::host_based::ilu_transpose (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &B) |
| template<typename NumericT > | |
| void | viennacl::linalg::host_based::ilu_chow_patel_sweep (compressed_matrix< NumericT > &L, vector< NumericT > const &aij_L, compressed_matrix< NumericT > &U_trans, vector< NumericT > const &aij_U_trans) |
| Performs one nonlinear relaxation step in the Chow-Patel-ILU using OpenMP (cf. Algorithm 2 in paper) More... | |
| template<typename NumericT > | |
| void | viennacl::linalg::host_based::ilu_form_neumann_matrix (compressed_matrix< NumericT > &R, vector< NumericT > &diag_R) |
Implementations of specialized routines for the Chow-Patel parallel ILU preconditioner using the host (OpenMP)
Definition in file ilu_operations.hpp.
| #define VIENNACL_OPENMP_ILU_MIN_SIZE 5000 |
Definition at line 42 of file ilu_operations.hpp.