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.