MAGMA  1.5.0
Matrix Algebra for GPU and Multicore Architectures
 All Functions Groups
double-complex precision

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)
 Solves a system of linear equations A * x = b via the block asynchronous iteration method on GPU. More...
 
magma_int_t magma_zbcsrlu (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par)
 LU decomposition and solution via triangular solves for a BCSR matrix A. More...
 
magma_int_t magma_zbcsrlutrf (magma_z_sparse_matrix A, magma_z_sparse_matrix *M, magma_int_t *ipiv, magma_int_t version)
 LU decomposition for a BCSR matrix A. More...
 
magma_int_t magma_zbcsrlusv (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par, magma_int_t *ipiv)
 LU solve for a BCSR matrix A. More...
 
magma_int_t magma_zbicgstab (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par)
 Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...
 
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)
 Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...
 
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)
 Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...
 
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)
 Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...
 
magma_int_t magma_zgmres (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par)
 Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory. More...
 
magma_int_t magma_zgmres_pipe (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par)
 Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory. More...
 
magma_int_t magma_zilusetup (magma_z_sparse_matrix A, magma_z_sparse_matrix *M, magma_int_t *ipiv)
 LU for a BCSR matrix A. More...
 
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)
 Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...
 
magma_int_t magma_zjacobi (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par)
 Solves a system of linear equations A * X = B where A is a complex Hermitian N-by-N positive definite matrix A. More...
 
magma_int_t magma_zp1gmres (magma_z_sparse_matrix A, magma_z_vector b, magma_z_vector *x, magma_z_solver_par *solver_par)
 Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory. More...
 
magma_int_t magma_zpastixsetup (magma_z_sparse_matrix A, magma_z_vector b, magma_z_preconditioner *precond)
 Prepares the PASTIX solver. More...
 
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)
 Solves a system of linear equations A * X = B where A is a complex sparse matrix stored in the GPU memory. More...
 

Detailed Description

Function Documentation

magma_int_t magma_zbaiter ( magma_z_sparse_matrix  A,
magma_z_vector  b,
magma_z_vector *  x,
magma_z_solver_par *  solver_par 
)

Solves a system of linear equations A * x = b via the block asynchronous iteration method on GPU.

Parameters
Amagma_z_sparse_matrix input matrix A
bmagma_z_vector RHS b
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
magma_int_t magma_zbcsrlu ( magma_z_sparse_matrix  A,
magma_z_vector  b,
magma_z_vector *  x,
magma_z_solver_par *  solver_par 
)

LU decomposition and solution via triangular solves for a BCSR matrix A.

We assume all diagonal blocks to be nonzero.

Parameters
Amagma_z_sparse_matrix descriptor for matrix A
bmagma_z_vector RHS b vector
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
magma_int_t magma_zbcsrlusv ( magma_z_sparse_matrix  A,
magma_z_vector  b,
magma_z_vector *  x,
magma_z_solver_par *  solver_par,
magma_int_t *  ipiv 
)

LU solve for a BCSR matrix A.

Parameters
Amagma_z_sparse_matrix input matrix A (on DEV)
bmagma_z_vector RHS (on DEV)
xmagma_z_vector solution (on DEV)
solver_parmagma_z_solver_par* solver parameters
ipivmagma_int_t* pivot vector
magma_int_t magma_zbcsrlutrf ( magma_z_sparse_matrix  A,
magma_z_sparse_matrix *  M,
magma_int_t *  ipiv,
magma_int_t  version 
)

LU decomposition for a BCSR matrix A.

We assume all diagonal blocks to be nonzero.

Parameters
Amagma_z_sparse_matrix input matrix A (on DEV)
mmagma_z_sparse_matrix* output matrix containing LU decomposition
ipivmagma_int_t* pivot vector
magma_int_t magma_zbicgstab ( magma_z_sparse_matrix  A,
magma_z_vector  b,
magma_z_vector *  x,
magma_z_solver_par *  solver_par 
)

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.

Parameters
Amagma_z_sparse_matrix input matrix A
bmagma_z_vector RHS b
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
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 
)

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.

Parameters
Amagma_z_sparse_matrix input matrix A
bmagma_z_vector RHS b
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
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 
)

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.

Parameters
Amagma_z_sparse_matrix input matrix A
bmagma_z_vector RHS b
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
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 
)

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.

Parameters
Amagma_z_sparse_matrix input matrix A
bmagma_z_vector RHS b
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters

magma_precond_parameters *precond_par parameters for inner solver

magma_int_t magma_zgmres ( magma_z_sparse_matrix  A,
magma_z_vector  b,
magma_z_vector *  x,
magma_z_solver_par *  solver_par 
)

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.

Parameters
Amagma_z_sparse_matrix descriptor for matrix A
bmagma_z_vector RHS b vector
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
magma_int_t magma_zgmres_pipe ( magma_z_sparse_matrix  A,
magma_z_vector  b,
magma_z_vector *  x,
magma_z_solver_par *  solver_par 
)

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.

Parameters
Amagma_z_sparse_matrix descriptor for matrix A
bmagma_z_vector RHS b vector
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
magma_int_t magma_zilusetup ( magma_z_sparse_matrix  A,
magma_z_sparse_matrix *  M,
magma_int_t *  ipiv 
)

LU for a BCSR matrix A.

We assume all diagonal blocks to be nonzero.

Parameters
Amagma_z_sparse_matrix input matrix A (on DEV)
mmagma_z_sparse_matrix* output matrix M approx. (LU)^{-1} (on DEV)
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 
)

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.

Parameters
Amagma_z_sparse_matrix input matrix A
bmagma_z_vector RHS b
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
precond_parmagma_z_preconditioner* inner solver
magma_int_t magma_zjacobi ( magma_z_sparse_matrix  A,
magma_z_vector  b,
magma_z_vector *  x,
magma_z_solver_par *  solver_par 
)

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.

Parameters
Amagma_z_sparse_matrix input matrix A
bmagma_z_vector RHS b
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
magma_int_t magma_zp1gmres ( magma_z_sparse_matrix  A,
magma_z_vector  b,
magma_z_vector *  x,
magma_z_solver_par *  solver_par 
)

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 pipelined GMRES method proposed by P. Ghysels.

Parameters
Amagma_z_sparse_matrix descriptor for matrix A
bmagma_z_vector RHS b vector
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
magma_int_t magma_zpastixsetup ( magma_z_sparse_matrix  A,
magma_z_vector  b,
magma_z_preconditioner *  precond 
)

Prepares the PASTIX solver.

Parameters
Amagma_z_sparse_matrix input matrix A
bmagma_z_vector RHS b
precondmagma_z_preconditioner* preconditioner parameter
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 
)

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.

Parameters
Amagma_z_sparse_matrix descriptor for matrix A
bmagma_z_vector RHS b vector
xmagma_z_vector* solution approximation
solver_parmagma_z_solver_par* solver parameters
precond_parmagma_z_preconditioner* preconditioner