![]() |
MAGMA
2.2.0
Matrix Algebra for GPU and Multicore Architectures
|
Functions | |
magma_int_t | magma_dcustomicsetup (magma_d_matrix A, magma_d_matrix b, magma_d_preconditioner *precond, magma_queue_t queue) |
Reads in an Incomplete Cholesky preconditioner. More... | |
magma_int_t | magma_dcustomilusetup (magma_d_matrix A, magma_d_matrix b, magma_d_preconditioner *precond, magma_queue_t queue) |
Reads in an Incomplete LU preconditioner. More... | |
magma_int_t | magma_diluisaisetup (magma_d_matrix A, magma_d_matrix b, magma_d_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_diluisaisetup_t (magma_d_matrix A, magma_d_matrix b, magma_d_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_disai_l (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Left-hand-side application of ISAI preconditioner. More... | |
magma_int_t | magma_disai_r (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Right-hand-side application of ISAI preconditioner. More... | |
magma_int_t | magma_disai_l_t (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Left-hand-side application of ISAI preconditioner. More... | |
magma_int_t | magma_disai_r_t (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Right-hand-side application of ISAI preconditioner. More... | |
magma_int_t | magma_dparilutsetup (magma_d_matrix A, magma_d_matrix b, magma_d_preconditioner *precond, magma_queue_t queue) |
Prepares the iterative threshold Incomplete LU preconditioner. More... | |
magma_int_t | magma_dicisaisetup (magma_d_matrix A, magma_d_matrix b, magma_d_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_dcumilusetup (magma_d_matrix A, magma_d_preconditioner *precond, magma_queue_t queue) |
Prepares the ILU preconditioner via the cuSPARSE. More... | |
magma_int_t | magma_dcumilusetup_transpose (magma_d_matrix A, magma_d_preconditioner *precond, magma_queue_t queue) |
Prepares the ILU transpose preconditioner via the cuSPARSE. More... | |
magma_int_t | magma_dcumilugeneratesolverinfo (magma_d_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_dapplycumilu_l (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Performs the left triangular solves using the ILU preconditioner. More... | |
magma_int_t | magma_dapplycumilu_l_transpose (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Performs the left triangular solves using the transpose ILU preconditioner. More... | |
magma_int_t | magma_dapplycumilu_r (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Performs the right triangular solves using the ILU preconditioner. More... | |
magma_int_t | magma_dapplycumilu_r_transpose (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Performs the right triangular solves using the transpose ILU preconditioner. More... | |
magma_int_t | magma_dparilusetup (magma_d_matrix A, magma_d_matrix b, magma_d_preconditioner *precond, magma_queue_t queue) |
Prepares the ILU preconditioner via the iterative ILU iteration. More... | |
magma_int_t | magma_dapplyiteric_l (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Performs the left triangular solves using the IC preconditioner via Jacobi. More... | |
magma_int_t | magma_dapplyiteric_r (magma_d_matrix b, magma_d_matrix *x, magma_d_preconditioner *precond, magma_queue_t queue) |
Performs the right triangular solves using the IC preconditioner via Jacobi. More... | |
magma_int_t magma_dcustomicsetup | ( | magma_d_matrix | A, |
magma_d_matrix | b, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Reads in an Incomplete Cholesky preconditioner.
[in] | A | magma_d_matrix input matrix A |
[in] | b | magma_d_matrix input RHS b |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dcustomilusetup | ( | magma_d_matrix | A, |
magma_d_matrix | b, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Reads in an Incomplete LU preconditioner.
[in] | A | magma_d_matrix input matrix A |
[in] | b | magma_d_matrix input RHS b |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_diluisaisetup | ( | magma_d_matrix | A, |
magma_d_matrix | b, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares Incomplete LU preconditioner using a sparse approximate inverse instead of sparse triangular solves.
[in] | A | magma_d_matrix input matrix A |
[in] | b | magma_d_matrix input RHS b |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_diluisaisetup_t | ( | magma_d_matrix | A, |
magma_d_matrix | b, | ||
magma_d_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_d_matrix input matrix A |
[in] | b | magma_d_matrix input RHS b |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_disai_l | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Left-hand-side application of ISAI preconditioner.
[in] | b | magma_d_matrix input RHS b |
[in,out] | x | magma_d_matrix solution x |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_disai_r | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Right-hand-side application of ISAI preconditioner.
[in] | b | magma_d_matrix input RHS b |
[in,out] | x | magma_d_matrix solution x |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_disai_l_t | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Left-hand-side application of ISAI preconditioner.
Transpose.
[in] | b | magma_d_matrix input RHS b |
[in,out] | x | magma_d_matrix solution x |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_disai_r_t | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Right-hand-side application of ISAI preconditioner.
Transpose.
[in] | b | magma_d_matrix input RHS b |
[in,out] | x | magma_d_matrix solution x |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dparilutsetup | ( | magma_d_matrix | A, |
magma_d_matrix | b, | ||
magma_d_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_d_matrix input matrix A |
[in] | b | magma_d_matrix input RHS b |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dicisaisetup | ( | magma_d_matrix | A, |
magma_d_matrix | b, | ||
magma_d_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 dgeisai.cpp.
[in] | A | magma_d_matrix input matrix A |
[in] | b | magma_d_matrix input RHS b |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dcumilusetup | ( | magma_d_matrix | A, |
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares the ILU preconditioner via the cuSPARSE.
[in] | A | magma_d_matrix input matrix A |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dcumilusetup_transpose | ( | magma_d_matrix | A, |
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares the ILU transpose preconditioner via the cuSPARSE.
[in] | A | magma_d_matrix input matrix A |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dcumilugeneratesolverinfo | ( | magma_d_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_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dapplycumilu_l | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the left triangular solves using the ILU preconditioner.
[in] | b | magma_d_matrix RHS |
[in,out] | x | magma_d_matrix* vector to precondition |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dapplycumilu_l_transpose | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the left triangular solves using the transpose ILU preconditioner.
[in] | b | magma_d_matrix RHS |
[in,out] | x | magma_d_matrix* vector to precondition |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dapplycumilu_r | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the right triangular solves using the ILU preconditioner.
[in] | b | magma_d_matrix RHS |
[in,out] | x | magma_d_matrix* vector to precondition |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dapplycumilu_r_transpose | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the right triangular solves using the transpose ILU preconditioner.
[in] | b | magma_d_matrix RHS |
[in,out] | x | magma_d_matrix* vector to precondition |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dparilusetup | ( | magma_d_matrix | A, |
magma_d_matrix | b, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Prepares the ILU preconditioner via the iterative ILU iteration.
[in] | A | magma_d_matrix input matrix A |
[in] | b | magma_d_matrix input RHS b |
[in,out] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dapplyiteric_l | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the left triangular solves using the IC preconditioner via Jacobi.
[in] | b | magma_d_matrix RHS |
[out] | x | magma_d_matrix* vector to precondition |
[in] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_dapplyiteric_r | ( | magma_d_matrix | b, |
magma_d_matrix * | x, | ||
magma_d_preconditioner * | precond, | ||
magma_queue_t | queue | ||
) |
Performs the right triangular solves using the IC preconditioner via Jacobi.
[in] | b | magma_d_matrix RHS |
[out] | x | magma_d_matrix* vector to precondition |
[in] | precond | magma_d_preconditioner* preconditioner parameters |
[in] | queue | magma_queue_t Queue to execute in. |