![]() |
MAGMA
2.2.0
Matrix Algebra for GPU and Multicore Architectures
|
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. More... | |
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. More... | |
magma_int_t | magma_ciluisaisetup (magma_c_matrix A, magma_c_matrix b, magma_c_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_ciluisaisetup_t (magma_c_matrix A, magma_c_matrix b, magma_c_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_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. More... | |
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. More... | |
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. More... | |
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. More... | |
magma_int_t | magma_cparilutsetup (magma_c_matrix A, magma_c_matrix b, magma_c_preconditioner *precond, magma_queue_t queue) |
Prepares the iterative threshold Incomplete LU preconditioner. More... | |
magma_int_t | magma_cicisaisetup (magma_c_matrix A, magma_c_matrix b, magma_c_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_ccumilusetup (magma_c_matrix A, magma_c_preconditioner *precond, magma_queue_t queue) |
Prepares the ILU preconditioner via the cuSPARSE. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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.
[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_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.
[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_int_t magma_ciluisaisetup | ( | magma_c_matrix | A, |
magma_c_matrix | b, | ||
magma_c_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves.
[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_int_t magma_ciluisaisetup_t | ( | magma_c_matrix | A, |
magma_c_matrix | b, | ||
magma_c_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_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_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.
[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_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.
[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_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.
[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_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.
[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_int_t magma_cparilutsetup | ( | 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 2016.
This function requires OpenMP, and is only available if OpenMP is activated.
[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_int_t magma_cicisaisetup | ( | magma_c_matrix | A, |
magma_c_matrix | b, | ||
magma_c_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 cgeisai.cpp.
[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_int_t magma_ccumilusetup | ( | magma_c_matrix | A, |
magma_c_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares the ILU preconditioner via the cuSPARSE.
[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_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.
[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_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.
[in,out] | precond | magma_c_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
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.
[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_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.
[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_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.
[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_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.
[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_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.
[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_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.
[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_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.
[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. |