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
chow_patel_ilu.hpp File Reference

Implementations of incomplete factorization preconditioners with fine-grained parallelism. More...

#include <vector>
#include <cmath>
#include <iostream>
#include "viennacl/forwards.h"
#include "viennacl/tools/tools.hpp"
#include "viennacl/linalg/detail/ilu/common.hpp"
#include "viennacl/linalg/ilu_operations.hpp"
#include "viennacl/linalg/prod.hpp"
#include "viennacl/backend/memory.hpp"

Go to the source code of this file.

Classes

class  viennacl::linalg::chow_patel_tag
 A tag for incomplete LU and incomplete Cholesky factorization with static pattern (Parallel-ILU0, Parallel ICC0) More...
 
class  viennacl::linalg::chow_patel_icc_precond< MatrixT >
 Parallel Chow-Patel ILU preconditioner class, can be supplied to solve()-routines. More...
 
class  viennacl::linalg::chow_patel_icc_precond< viennacl::compressed_matrix< NumericT, AlignmentV > >
 Parallel Chow-Patel ILU preconditioner class, can be supplied to solve()-routines. More...
 
class  viennacl::linalg::chow_patel_ilu_precond< MatrixT >
 Parallel Chow-Patel ILU preconditioner class, can be supplied to solve()-routines. More...
 
class  viennacl::linalg::chow_patel_ilu_precond< viennacl::compressed_matrix< NumericT, AlignmentV > >
 Parallel Chow-Patel ILU preconditioner class, can be supplied to solve()-routines. More...
 

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::detail
 Namespace holding implementation details for linear algebra routines. Usually not of interest for a library user.
 

Functions

template<typename NumericT >
void viennacl::linalg::detail::precondition (viennacl::compressed_matrix< NumericT > const &A, viennacl::compressed_matrix< NumericT > &L, viennacl::vector< NumericT > &diag_L, viennacl::compressed_matrix< NumericT > &L_trans, chow_patel_tag const &tag)
 Implementation of the parallel ICC0 factorization, Algorithm 3 in Chow-Patel paper. More...
 
template<typename NumericT >
void viennacl::linalg::detail::precondition (viennacl::compressed_matrix< NumericT > const &A, viennacl::compressed_matrix< NumericT > &L, viennacl::vector< NumericT > &diag_L, viennacl::compressed_matrix< NumericT > &U, viennacl::vector< NumericT > &diag_U, chow_patel_tag const &tag)
 Implementation of the parallel ILU0 factorization, Algorithm 2 in Chow-Patel paper. More...
 

Detailed Description

Implementations of incomplete factorization preconditioners with fine-grained parallelism.

Based on "Fine-Grained Parallel Incomplete LU Factorization" by Chow and Patel, SIAM J. Sci. Comput., vol. 37, no. 2, pp. C169-C193

Definition in file chow_patel_ilu.hpp.