![]() |
MAGMA
2.2.0
Matrix Algebra for GPU and Multicore Architectures
|
Functions | |
magma_int_t | magma_zcustomicsetup (magma_z_matrix A, magma_z_matrix b, magma_z_preconditioner *precond, magma_queue_t queue) |
Reads in an Incomplete Cholesky preconditioner. More... | |
magma_int_t | magma_zcustomilusetup (magma_z_matrix A, magma_z_matrix b, magma_z_preconditioner *precond, magma_queue_t queue) |
Reads in an Incomplete LU preconditioner. More... | |
magma_int_t | magma_zparictsetup (magma_z_matrix A, magma_z_matrix b, magma_z_preconditioner *precond, magma_queue_t queue) |
Prepares the iterative threshold Incomplete Cholesky preconditioner. More... | |
magma_int_t | magma_ziluisaisetup (magma_z_matrix A, magma_z_matrix b, magma_z_preconditioner *precond, magma_queue_t queue) |
Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves. More... | |
magma_int_t | magma_ziluisaisetup_t (magma_z_matrix A, magma_z_matrix b, magma_z_preconditioner *precond, magma_queue_t queue) |
Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves. More... | |
magma_int_t | magma_zisai_l (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Left-hand-side application of ISAI preconditioner. More... | |
magma_int_t | magma_zisai_r (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Right-hand-side application of ISAI preconditioner. More... | |
magma_int_t | magma_zisai_l_t (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Left-hand-side application of ISAI preconditioner. More... | |
magma_int_t | magma_zisai_r_t (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Right-hand-side application of ISAI preconditioner. More... | |
magma_int_t | magma_zparilutsetup (magma_z_matrix A, magma_z_matrix b, magma_z_preconditioner *precond, magma_queue_t queue) |
Prepares the iterative threshold Incomplete LU preconditioner. More... | |
magma_int_t | magma_zicisaisetup (magma_z_matrix A, magma_z_matrix b, magma_z_preconditioner *precond, magma_queue_t queue) |
Prepares Incomplete Cholesky preconditioner using a sparse approximate inverse instead of sparse triangular solves. More... | |
magma_int_t | magma_zcumilusetup (magma_z_matrix A, magma_z_preconditioner *precond, magma_queue_t queue) |
Prepares the ILU preconditioner via the cuSPARSE. More... | |
magma_int_t | magma_zcumilusetup_transpose (magma_z_matrix A, magma_z_preconditioner *precond, magma_queue_t queue) |
Prepares the ILU transpose preconditioner via the cuSPARSE. More... | |
magma_int_t | magma_zcumilugeneratesolverinfo (magma_z_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. More... | |
magma_int_t | magma_zapplycumilu_l (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Performs the left triangular solves using the ILU preconditioner. More... | |
magma_int_t | magma_zapplycumilu_l_transpose (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Performs the left triangular solves using the transpose ILU preconditioner. More... | |
magma_int_t | magma_zapplycumilu_r (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Performs the right triangular solves using the ILU preconditioner. More... | |
magma_int_t | magma_zapplycumilu_r_transpose (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Performs the right triangular solves using the transpose ILU preconditioner. More... | |
magma_int_t | magma_zparilusetup (magma_z_matrix A, magma_z_matrix b, magma_z_preconditioner *precond, magma_queue_t queue) |
Prepares the ILU preconditioner via the iterative ILU iteration. More... | |
magma_int_t | magma_zapplyiteric_l (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Performs the left triangular solves using the IC preconditioner via Jacobi. More... | |
magma_int_t | magma_zapplyiteric_r (magma_z_matrix b, magma_z_matrix *x, magma_z_preconditioner *precond, magma_queue_t queue) |
Performs the right triangular solves using the IC preconditioner via Jacobi. More... | |
magma_int_t magma_zcustomicsetup | ( | magma_z_matrix | A, |
magma_z_matrix | b, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Reads in an Incomplete Cholesky preconditioner.
[in] | A | magma_z_matrix input matrix A |
[in] | b | magma_z_matrix input RHS b |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zcustomilusetup | ( | magma_z_matrix | A, |
magma_z_matrix | b, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Reads in an Incomplete LU preconditioner.
[in] | A | magma_z_matrix input matrix A |
[in] | b | magma_z_matrix input RHS b |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zparictsetup | ( | magma_z_matrix | A, |
magma_z_matrix | b, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares the iterative threshold Incomplete Cholesky preconditioner.
This function requires OpenMP, and is only available if OpenMP is activated.
[in] | A | magma_z_matrix input matrix A |
[in] | b | magma_z_matrix input RHS b |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_ziluisaisetup | ( | magma_z_matrix | A, |
magma_z_matrix | b, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves.
[in] | A | magma_z_matrix input matrix A |
[in] | b | magma_z_matrix input RHS b |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_ziluisaisetup_t | ( | magma_z_matrix | A, |
magma_z_matrix | b, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves.
This is the transpose preconditioner setup needed e.g. for BiCG, QMR, LSQR...
[in] | A | magma_z_matrix input matrix A |
[in] | b | magma_z_matrix input RHS b |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zisai_l | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Left-hand-side application of ISAI preconditioner.
[in] | b | magma_z_matrix input RHS b |
[in,out] | x | magma_z_matrix solution x |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zisai_r | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Right-hand-side application of ISAI preconditioner.
[in] | b | magma_z_matrix input RHS b |
[in,out] | x | magma_z_matrix solution x |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zisai_l_t | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Left-hand-side application of ISAI preconditioner.
Transpose.
[in] | b | magma_z_matrix input RHS b |
[in,out] | x | magma_z_matrix solution x |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zisai_r_t | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Right-hand-side application of ISAI preconditioner.
Transpose.
[in] | b | magma_z_matrix input RHS b |
[in,out] | x | magma_z_matrix solution x |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zparilutsetup | ( | magma_z_matrix | A, |
magma_z_matrix | b, | ||
magma_z_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 2016.
This function requires OpenMP, and is only available if OpenMP is activated.
[in] | A | magma_z_matrix input matrix A |
[in] | b | magma_z_matrix input RHS b |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zicisaisetup | ( | magma_z_matrix | A, |
magma_z_matrix | b, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares Incomplete Cholesky preconditioner using a sparse approximate inverse instead of sparse triangular solves.
This is the symmetric variant of zgeisai.cpp.
[in] | A | magma_z_matrix input matrix A |
[in] | b | magma_z_matrix input RHS b |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zcumilusetup | ( | magma_z_matrix | A, |
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares the ILU preconditioner via the cuSPARSE.
[in] | A | magma_z_matrix input matrix A |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zcumilusetup_transpose | ( | magma_z_matrix | A, |
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares the ILU transpose preconditioner via the cuSPARSE.
[in] | A | magma_z_matrix input matrix A |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zcumilugeneratesolverinfo | ( | magma_z_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.
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zapplycumilu_l | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the left triangular solves using the ILU preconditioner.
[in] | b | magma_z_matrix RHS |
[in,out] | x | magma_z_matrix* vector to precondition |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zapplycumilu_l_transpose | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the left triangular solves using the transpose ILU preconditioner.
[in] | b | magma_z_matrix RHS |
[in,out] | x | magma_z_matrix* vector to precondition |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zapplycumilu_r | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the right triangular solves using the ILU preconditioner.
[in] | b | magma_z_matrix RHS |
[in,out] | x | magma_z_matrix* vector to precondition |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zapplycumilu_r_transpose | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the right triangular solves using the transpose ILU preconditioner.
[in] | b | magma_z_matrix RHS |
[in,out] | x | magma_z_matrix* vector to precondition |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zparilusetup | ( | magma_z_matrix | A, |
magma_z_matrix | b, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares the ILU preconditioner via the iterative ILU iteration.
[in] | A | magma_z_matrix input matrix A |
[in] | b | magma_z_matrix input RHS b |
[in,out] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zapplyiteric_l | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the left triangular solves using the IC preconditioner via Jacobi.
[in] | b | magma_z_matrix RHS |
[out] | x | magma_z_matrix* vector to precondition |
[in] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zapplyiteric_r | ( | magma_z_matrix | b, |
magma_z_matrix * | x, | ||
magma_z_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the right triangular solves using the IC preconditioner via Jacobi.
[in] | b | magma_z_matrix RHS |
[out] | x | magma_z_matrix* vector to precondition |
[in] | precond | magma_z_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |