Loading...
Searching...
No Matches
single-complex precision
Sparse LA » Sparse preconditioners » General matrix preconditioner

## Functions

magma_int_t | magma_ccustomicsetup (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Reads in an Incomplete Cholesky preconditioner.
magma_int_t | magma_ccustomilusetup (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Reads in an Incomplete LU preconditioner.
magma_int_t | magma_cisai_l (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Left-hand-side application of ISAI preconditioner.
magma_int_t | magma_cisai_r (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Right-hand-side application of ISAI preconditioner.
magma_int_t | magma_cisai_l_t (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Left-hand-side application of ISAI preconditioner.
magma_int_t | magma_cisai_r_t (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Right-hand-side application of ISAI preconditioner.
magma_int_t | magma_ciluisaisetup_lower (magma_c_matrix L, magma_c_matrix S, magma_c_matrix *ISAIL, magma_queue_t queue)
| Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves.
magma_int_t | magma_ciluisaisetup_upper (magma_c_matrix U, magma_c_matrix S, magma_c_matrix *ISAIU, magma_queue_t queue)
| Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves.
magma_int_t | magma_cparic_cpu (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Generates an IC(0) preconditer via fixed-point iterations.
magma_int_t | magma_cparic_gpu (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Generates an IC(0) preconditer via fixed-point iterations.
magma_int_t | magma_cparict (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Prepares the iterative threshold Incomplete Cholesky preconditioner.
magma_int_t | magma_cparict_cpu (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Generates an incomplete threshold Cholesky preconditioner via the ParILUT algorithm.
magma_int_t | magma_cparilu_cpu (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Generates an ILU(0) preconditer via fixed-point iterations.
magma_int_t | magma_cparilu_gpu (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Generates an ILU(0) preconditer via fixed-point iterations.
magma_int_t | magma_cparilut (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Prepares the iterative threshold Incomplete LU preconditioner.
magma_int_t | magma_cparilut_cpu (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Generates an incomplete threshold LU preconditioner via the ParILUT algorithm.
magma_int_t | magma_cparilut_gpu (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Generates an incomplete threshold LU preconditioner via the ParILUT algorithm.
magma_int_t | magma_cparilut_gpu_nodp (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Generates an incomplete threshold LU preconditioner via the ParILUT algorithm.
magma_int_t | magma_ccumilusetup (magma_c_matrix A, magma_c_preconditioner *precond, magma_queue_t queue)
| Prepares the ILU preconditioner via the cuSPARSE.
magma_int_t | magma_ccumilusetup_transpose (magma_c_matrix A, magma_c_preconditioner *precond, magma_queue_t queue)
| Prepares the ILU transpose preconditioner via the cuSPARSE.
magma_int_t | magma_ccumilugeneratesolverinfo (magma_c_preconditioner *precond, magma_queue_t queue)
| Prepares the ILU triangular solves via cuSPARSE using an ILU factorization matrix stored either in precond->M or on the device as precond->L and precond->U.
magma_int_t | magma_capplycumilu_l (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Performs the left triangular solves using the ILU preconditioner.
magma_int_t | magma_capplycumilu_l_transpose (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Performs the left triangular solves using the transpose ILU preconditioner.
magma_int_t | magma_capplycumilu_r (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Performs the right triangular solves using the ILU preconditioner.
magma_int_t | magma_capplycumilu_r_transpose (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Performs the right triangular solves using the transpose ILU preconditioner.
magma_int_t | magma_capplyiteric_l (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Performs the left triangular solves using the IC preconditioner via Jacobi.
magma_int_t | magma_capplyiteric_r (magma_c_matrix b, magma_c_matrix *x, magma_c_preconditioner *precond, magma_queue_t queue)
| Performs the right triangular solves using the IC preconditioner via Jacobi.
magma_int_t | magma_cjaccard_weights (magma_c_matrix A, magma_c_matrix *J, magma_queue_t queue)
| Computes Jaccard weights for a matrix.
magma_int_t | magma_cparilusetup (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue)
| Prepares the ILU preconditioner via the iterative ILU iteration.

## Detailed Description

## Function Documentation

## magma_ccustomicsetup()

magma_int_t magma_ccustomicsetup | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Reads in an Incomplete Cholesky preconditioner.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ccustomilusetup()

magma_int_t magma_ccustomilusetup | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Reads in an Incomplete LU preconditioner.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cisai_l()

magma_int_t magma_cisai_l | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Left-hand-side application of ISAI preconditioner.

Parameters

  [in] | b | magma_c_matrix input RHS b
  [in,out] | x | magma_c_matrix solution x
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cisai_r()

magma_int_t magma_cisai_r | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Right-hand-side application of ISAI preconditioner.

Parameters

  [in] | b | magma_c_matrix input RHS b
  [in,out] | x | magma_c_matrix solution x
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cisai_l_t()

magma_int_t magma_cisai_l_t | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Left-hand-side application of ISAI preconditioner.

Transpose.

Parameters

  [in] | b | magma_c_matrix input RHS b
  [in,out] | x | magma_c_matrix solution x
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cisai_r_t()

magma_int_t magma_cisai_r_t | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Right-hand-side application of ISAI preconditioner.

Transpose.

Parameters

  [in] | b | magma_c_matrix input RHS b
  [in,out] | x | magma_c_matrix solution x
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ciluisaisetup_lower()

magma_int_t magma_ciluisaisetup_lower | ( | magma_c_matrix | L,
|  | magma_c_matrix | S,
|  | magma_c_matrix * | ISAIL,
|  | magma_queue_t | queue )

Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves.

This routine only handles the lower triangular part. The return value is 0 in case of success, and Magma_CUSOLVE if the pattern is too large to be handled.

Parameters

  [in] | L | magma_c_matrix lower triangular factor
  [in] | S | magma_c_matrix pattern for the ISAI preconditioner for L
  [out] | ISAIL | magma_c_matrix* ISAI preconditioner for L
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ciluisaisetup_upper()

magma_int_t magma_ciluisaisetup_upper | ( | magma_c_matrix | U,
|  | magma_c_matrix | S,
|  | magma_c_matrix * | ISAIU,
|  | magma_queue_t | queue )

Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves.

This routine only handles the upper triangular part. The return value is 0 in case of success, and Magma_CUSOLVE if the pattern is too large to be handled.

Parameters

  [in] | U | magma_c_matrix lower triangular factor
  [in] | S | magma_c_matrix pattern for the ISAI preconditioner for U
  [out] | ISAIU | magma_c_matrix* ISAI preconditioner for U
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparic_cpu()

magma_int_t magma_cparic_cpu | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Generates an IC(0) preconditer via fixed-point iterations.

For reference, see: E. Chow and A. Patel: "Fine-grained Parallel Incomplete LU Factorization", SIAM Journal on Scientific Computing, 37, C169-C193 (2015).

This is the CPU implementation of the ParIC

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparic_gpu()

magma_int_t magma_cparic_gpu | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Generates an IC(0) preconditer via fixed-point iterations.

For reference, see: E. Chow and A. Patel: "Fine-grained Parallel Incomplete LU Factorization", SIAM Journal on Scientific Computing, 37, C169-C193 (2015).

This is the GPU implementation of the ParIC

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparict()

magma_int_t magma_cparict | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Prepares the iterative threshold Incomplete Cholesky preconditioner.

The strategy is interleaving a parallel fixed-point iteration that approximates an incomplete factorization for a given nonzero pattern with a procedure that adaptively changes the pattern. Much of this new algorithm has fine-grained parallelism, and we show that it can efficiently exploit the compute power of shared memory architectures.

This is the routine used in the publication by Anzt, Chow, Dongarra: ''ParILUT - A new parallel threshold ILU factorization'' submitted to SIAM SISC in 2016.

This function requires OpenMP, and is only available if OpenMP is activated.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparict_cpu()

magma_int_t magma_cparict_cpu | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Generates an incomplete threshold Cholesky preconditioner via the ParILUT algorithm.

The strategy is to interleave a parallel fixed-point iteration that approximates an incomplete factorization for a given nonzero pattern with a procedure that adaptively changes the pattern. Much of this algorithm has fine-grained parallelism, and can efficiently exploit the compute power of shared memory architectures.

This is the routine used in the publication by Anzt, Chow, Dongarra: ''ParILUT - A new parallel threshold ILU factorization'' submitted to SIAM SISC in 2017.

This version uses the default setting which adds all candidates to the sparsity pattern. It is the variant for SPD systems.

This function requires OpenMP, and is only available if OpenMP is activated.

The parameter list is:

precond.sweeps : number of ParILUT steps precond.atol : absolute fill ratio (1.0 keeps nnz count constant)

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparilu_cpu()

magma_int_t magma_cparilu_cpu | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Generates an ILU(0) preconditer via fixed-point iterations.

For reference, see: E. Chow and A. Patel: "Fine-grained Parallel Incomplete LU Factorization", SIAM Journal on Scientific Computing, 37, C169-C193 (2015).

This is the CPU implementation of the ParILU

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparilu_gpu()

magma_int_t magma_cparilu_gpu | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Generates an ILU(0) preconditer via fixed-point iterations.

For reference, see: E. Chow and A. Patel: "Fine-grained Parallel Incomplete LU Factorization", SIAM Journal on Scientific Computing, 37, C169-C193 (2015).

This is the GPU implementation of the ParILU

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparilut()

magma_int_t magma_cparilut | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Prepares the iterative threshold Incomplete LU preconditioner.

The strategy is interleaving a parallel fixed-point iteration that approximates an incomplete factorization for a given nonzero pattern with a procedure that adaptively changes the pattern. Much of this new algorithm has fine-grained parallelism, and we show that it can efficiently exploit the compute power of shared memory architectures.

This is the routine used in the publication by Anzt, Chow, Dongarra: ''ParILUT - A new parallel threshold ILU factorization'' submitted to SIAM SISC in 2017.

This function requires OpenMP, and is only available if OpenMP is activated.

The parameter list is:

precond.sweeps : number of ParILUT steps precond.atol : absolute fill ratio (1.0 keeps nnz constant) precond.rtol : how many candidates are added to the sparsity pattern 1.0 one per row < 1.0 a fraction of those > 1.0 all candidates

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparilut_cpu()

magma_int_t magma_cparilut_cpu | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Generates an incomplete threshold LU preconditioner via the ParILUT algorithm.

The strategy is to interleave a parallel fixed-point iteration that approximates an incomplete factorization for a given nonzero pattern with a procedure that adaptively changes the pattern. Much of this algorithm has fine-grained parallelism, and can efficiently exploit the compute power of shared memory architectures.

This is the routine used in the publication by Anzt, Chow, Dongarra: ''ParILUT - A new parallel threshold ILU factorization'' submitted to SIAM SISC in 2017.

This version uses the default setting which adds all candidates to the sparsity pattern.

This function requires OpenMP, and is only available if OpenMP is activated.

The parameter list is:

precond.sweeps : number of ParILUT steps precond.atol : absolute fill ratio (1.0 keeps nnz count constant)

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparilut_gpu()

magma_int_t magma_cparilut_gpu | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Generates an incomplete threshold LU preconditioner via the ParILUT algorithm.

The strategy is to interleave a parallel fixed-point iteration that approximates an incomplete factorization for a given nonzero pattern with a procedure that adaptively changes the pattern. Much of this algorithm has fine-grained parallelism, and can efficiently exploit the compute power of shared memory architectures.

This is the routine used in the publication by Anzt, Chow, Dongarra: ''ParILUT - A new parallel threshold ILU factorization'' submitted to SIAM SISC in 2017.

This version uses the default setting which adds all candidates to the sparsity pattern.

This function requires OpenMP, and is only available if OpenMP is activated.

The parameter list is:

precond.sweeps : number of ParILUT steps precond.atol : absolute fill ratio (1.0 keeps nnz count constant)

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparilut_gpu_nodp()

magma_int_t magma_cparilut_gpu_nodp | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Generates an incomplete threshold LU preconditioner via the ParILUT algorithm.

The strategy is to interleave a parallel fixed-point iteration that approximates an incomplete factorization for a given nonzero pattern with a procedure that adaptively changes the pattern. Much of this algorithm has fine-grained parallelism, and can efficiently exploit the compute power of shared memory architectures.

This is the routine used in the publication by Anzt, Chow, Dongarra: ''ParILUT - A new parallel threshold ILU factorization'' submitted to SIAM SISC in 2017.

This version uses the default setting which adds all candidates to the sparsity pattern.

This function requires OpenMP, and is only available if OpenMP is activated.

The parameter list is:

precond.sweeps : number of ParILUT steps precond.atol : absolute fill ratio (1.0 keeps nnz count constant)

This routine is the same as magma_cparilut_gpu(), except that it uses no dynamic paralellism

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ccumilusetup()

magma_int_t magma_ccumilusetup | ( | magma_c_matrix | A,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Prepares the ILU preconditioner via the cuSPARSE.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ccumilusetup_transpose()

magma_int_t magma_ccumilusetup_transpose | ( | magma_c_matrix | A,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Prepares the ILU transpose preconditioner via the cuSPARSE.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ccumilugeneratesolverinfo()

magma_int_t magma_ccumilugeneratesolverinfo | ( | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Prepares the ILU triangular solves via cuSPARSE using an ILU factorization matrix stored either in precond->M or on the device as precond->L and precond->U.

Parameters

  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_capplycumilu_l()

magma_int_t magma_capplycumilu_l | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Performs the left triangular solves using the ILU preconditioner.

Parameters

  [in] | b | magma_c_matrix RHS
  [in,out] | x | magma_c_matrix* vector to precondition
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_capplycumilu_l_transpose()

magma_int_t magma_capplycumilu_l_transpose | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Performs the left triangular solves using the transpose ILU preconditioner.

Parameters

  [in] | b | magma_c_matrix RHS
  [in,out] | x | magma_c_matrix* vector to precondition
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_capplycumilu_r()

magma_int_t magma_capplycumilu_r | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Performs the right triangular solves using the ILU preconditioner.

Parameters

  [in] | b | magma_c_matrix RHS
  [in,out] | x | magma_c_matrix* vector to precondition
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_capplycumilu_r_transpose()

magma_int_t magma_capplycumilu_r_transpose | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Performs the right triangular solves using the transpose ILU preconditioner.

Parameters

  [in] | b | magma_c_matrix RHS
  [in,out] | x | magma_c_matrix* vector to precondition
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_capplyiteric_l()

magma_int_t magma_capplyiteric_l | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Performs the left triangular solves using the IC preconditioner via Jacobi.

Parameters

  [in] | b | magma_c_matrix RHS
  [out] | x | magma_c_matrix* vector to precondition
  [in] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_capplyiteric_r()

magma_int_t magma_capplyiteric_r | ( | magma_c_matrix | b,
|  | magma_c_matrix * | x,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Performs the right triangular solves using the IC preconditioner via Jacobi.

Parameters

  [in] | b | magma_c_matrix RHS
  [out] | x | magma_c_matrix* vector to precondition
  [in] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cjaccard_weights()

magma_int_t magma_cjaccard_weights | ( | magma_c_matrix | A,
|  | magma_c_matrix * | J,
|  | magma_queue_t | queue )

Computes Jaccard weights for a matrix.

Parameters

  [in] | A | magma_c_matrix input matrix
  [out] | J | magma_c_matrix* Jaccard weights
  [in] | queue | magma_queue_t Queue to execute in.

## magma_cparilusetup()

magma_int_t magma_cparilusetup | ( | magma_c_matrix | A,
|  | magma_c_matrix | b,
|  | magma_c_preconditioner * | precond,
|  | magma_queue_t | queue )

Prepares the ILU preconditioner via the iterative ILU iteration.

Parameters

  [in] | A | magma_c_matrix input matrix A
  [in] | b | magma_c_matrix input RHS b
  [in,out] | precond | magma_c_preconditioner* preconditioner parameters
  [in] | queue | magma_queue_t Queue to execute in.