ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ilu_operations.hpp File Reference

Implementations of specialized routines for the Chow-Patel parallel ILU preconditioner using the host (OpenMP) More...

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)
 

Detailed Description

Implementations of specialized routines for the Chow-Patel parallel ILU preconditioner using the host (OpenMP)

Definition in file ilu_operations.hpp.

Macro Definition Documentation

#define VIENNACL_OPENMP_ILU_MIN_SIZE   5000

Definition at line 42 of file ilu_operations.hpp.