Functions | |
magma_int_t | magma_zbaiter (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_queue_t queue) |
Solves a system of linear equations A * x = b via the block asynchronous iteration method on GPU. | |
magma_int_t | magma_zbicgstab (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_queue_t queue) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. | |
magma_int_t | magma_zbicgstab_merge (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_queue_t queue) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. | |
magma_int_t | magma_zbicgstab_merge2 (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_queue_t queue) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. | |
magma_int_t | magma_zcir (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_precond_parameters *precond_par, magma_queue_t queue) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. | |
magma_int_t | magma_zcpir (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_precond_parameters *precond_par, magma_queue_t queue) |
Solves a system of linear equations A * X = B where A is a hermetian matrix. | |
magma_int_t | magma_zgmres (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_queue_t queue) |
Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory. | |
magma_int_t | magma_zilusetup (magma_z_sparse_matrix A, magma_z_sparse_matrix *M, magma_int_t *ipiv, magma_queue_t queue) |
LU for a BCSR matrix A. | |
magma_int_t | magma_ziterref (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_z_preconditioner *precond_par, magma_queue_t queue) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. | |
magma_int_t | magma_zjacobi (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_queue_t queue) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. | |
magma_int_t | magma_zpastixsetup (magma_z_sparse_matrix A, magma_z_vector b, magma_z_preconditioner *precond, magma_queue_t queue) |
Prepares the PASTIX solver. | |
magma_int_t | magma_zpgmres (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_z_preconditioner *precond_par, magma_queue_t queue) |
ma Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory. |
magma_int_t magma_zbaiter | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_queue_t | queue | |||
) |
Solves a system of linear equations A * x = b via the block asynchronous iteration method on GPU.
[in] | A | magma_z_sparse_matrix input matrix A |
[in] | b | magma_z_vector RHS b |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zbicgstab | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_queue_t | queue | |||
) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.
This is a GPU implementation of the Biconjugate Gradient Stabelized method.
[in] | A | magma_z_sparse_matrix input matrix A |
[in] | b | magma_z_vector RHS b |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zbicgstab_merge | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_queue_t | queue | |||
) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.
This is a GPU implementation of the Biconjugate Gradient Stabelized method. The difference to magma_zbicgstab is that we use specifically designed kernels merging multiple operations into one kernel.
[in] | A | magma_z_sparse_matrix input matrix A |
[in] | b | magma_z_vector RHS b |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zbicgstab_merge2 | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_queue_t | queue | |||
) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.
This is a GPU implementation of the Biconjugate Gradient Stabelized method. The difference to magma_zbicgstab is that we use specifically designed kernels merging multiple operations into one kernel.
[in] | A | magma_z_sparse_matrix input matrix A |
[in] | b | magma_z_vector RHS b |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zcir | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_precond_parameters * | precond_par, | |||
magma_queue_t | queue | |||
) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.
This is a GPU implementation of the mixed precision Iterative Refinement method.
[in] | A | magma_z_sparse_matrix input matrix A |
[in] | b | magma_z_vector RHS b |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
[in,out] | precond_par | magma_precond_parameters * parameters for inner solver |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zcpir | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_precond_parameters * | precond_par, | |||
magma_queue_t | queue | |||
) |
Solves a system of linear equations A * X = B where A is a hermetian matrix.
This is a GPU implementation of the mixed precision Iterative Refinement method featuring a Jacobi smoother after the low precision inner solver.
[in] | A | magma_z_sparse_matrix input matrix A |
[in] | b | magma_z_vector RHS b |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
magma_precond_parameters *precond_par parameters for inner solver
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zgmres | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_queue_t | queue | |||
) |
Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory.
X and B are complex vectors stored on the GPU memory. This is a GPU implementation of the GMRES method.
[in] | A | magma_z_sparse_matrix descriptor for matrix A |
[in] | b | magma_z_vector RHS b vector |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zilusetup | ( | magma_z_sparse_matrix | A, | |
magma_z_sparse_matrix * | M, | |||
magma_int_t * | ipiv, | |||
magma_queue_t | queue | |||
) |
LU for a BCSR matrix A.
We assume all diagonal blocks to be nonzero.
[in] | A | magma_z_sparse_matrix input matrix A (on DEV) |
[in] | M | magma_z_sparse_matrix* output matrix M approx. (LU)^{-1} (on DEV) |
[out] | ipiv | magma_int_t* pivoting vector |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_ziterref | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_z_preconditioner * | precond_par, | |||
magma_queue_t | queue | |||
) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.
This is a GPU implementation of the Iterative Refinement method. The inner solver is passed via the preconditioner argument.
[in] | A | magma_z_sparse_matrix input matrix A |
[in] | b | magma_z_vector RHS b |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
[in,out] | precond_par | magma_z_preconditioner* inner solver |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zjacobi | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_queue_t | queue | |||
) |
Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A.
This is a GPU implementation of the Jacobi method.
[in] | A | magma_z_sparse_matrix input matrix A |
[in] | b | magma_z_vector RHS b |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zpastixsetup | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_preconditioner * | precond, | |||
magma_queue_t | queue | |||
) |
Prepares the PASTIX solver.
[in] | A | magma_z_sparse_matrix input matrix A |
[in] | b | magma_z_vector RHS b |
[in] | precond | magma_z_preconditioner* preconditioner parameter |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_zpgmres | ( | magma_z_sparse_matrix | A, | |
magma_z_vector | b, | |||
magma_z_vector * | x, | |||
magma_z_solver_par * | solver_par, | |||
magma_z_preconditioner * | precond_par, | |||
magma_queue_t | queue | |||
) |
ma Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory.
X and B are complex vectors stored on the GPU memory. This is a GPU implementation of the right-preconditioned GMRES method.
[in] | A | magma_z_sparse_matrix descriptor for matrix A |
[in] | b | magma_z_vector RHS b vector |
[in,out] | x | magma_z_vector* solution approximation |
[in,out] | solver_par | magma_z_solver_par* solver parameters |
[in] | precond_par | magma_z_preconditioner* preconditioner |
[in] | queue | magma_queue_t Queue to execute in. |