MAGMA  2.7.1
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages

Functions

magma_int_t magma_cbpcg (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_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. More...
 
magma_int_t magma_ccg (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_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. More...
 
magma_int_t magma_ccg_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
 Solves a system of linear equations A * X = B where A is a complex matrix A. More...
 
magma_int_t magma_ccg_res (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_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. More...
 
magma_int_t magma_ccgs_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_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. More...
 
magma_int_t magma_cidr_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
 Solves a system of linear equations A * X = B where A is a general complex N-by-N matrix A. More...
 
magma_int_t magma_cidr_strms (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_queue_t queue)
 Solves a system of linear equations A * X = B where A is a general complex N-by-N matrix A. More...
 
magma_int_t magma_cpcg_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_preconditioner *precond_par, magma_queue_t queue)
 Solves a system of linear equations A * X = B where A is a complex matrix A. More...
 
magma_int_t magma_cpidr_merge (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_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. More...
 
magma_int_t magma_cpidr_strms (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_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. More...
 
magma_int_t magma_cptfqmr (magma_c_matrix A, magma_c_matrix b, magma_c_matrix *x, magma_c_solver_par *solver_par, magma_c_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. More...
 
magma_int_t magma_cqr (magma_int_t m, magma_int_t n, magma_c_matrix A, magma_int_t lda, magma_c_matrix *Q, magma_c_matrix *R, magma_queue_t queue)
 This is a wrapper to call MAGMA QR on the data structure of sparse matrices. More...
 

Detailed Description

Function Documentation

magma_int_t magma_cbpcg ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_c_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 block preconditioned Conjugate Gradient method.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b - can be a block
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]precond_parmagma_c_preconditioner* preconditioner
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_ccg ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_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 Conjugate Gradient method.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_ccg_merge ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_queue_t  queue 
)

Solves a system of linear equations A * X = B where A is a complex matrix A.

This is a GPU implementation of the Conjugate Gradient method in variant, where multiple operations are merged into one compute kernel.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_ccg_res ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_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 preconditioned Conjugate Gradient method.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_ccgs_merge ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_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 Conjugate Gradient Squared (CGS) method.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cidr_merge ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_queue_t  queue 
)

Solves a system of linear equations A * X = B where A is a general complex N-by-N matrix A.

This is a GPU implementation of the Induced Dimension Reduction method applying kernel fusion.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cidr_strms ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_queue_t  queue 
)

Solves a system of linear equations A * X = B where A is a general complex N-by-N matrix A.

This is a GPU implementation of the Induced Dimension Reduction method applying kernel fusion and kernel overlap.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cpcg_merge ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_c_preconditioner *  precond_par,
magma_queue_t  queue 
)

Solves a system of linear equations A * X = B where A is a complex matrix A.

This is a GPU implementation of the Conjugate Gradient method in variant, where multiple operations are merged into one compute kernel.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]precond_parmagma_c_preconditioner* preconditioner
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cpidr_merge ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_c_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 preconditioned Induced Dimension Reduction method applying kernel fusion.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]precond_parmagma_c_preconditioner* preconditioner
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cpidr_strms ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_c_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 preconditioned Induced Dimension Reduction method applying kernel fusion and kernel overlap.

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in]precond_parmagma_c_preconditioner* preconditioner
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cptfqmr ( magma_c_matrix  A,
magma_c_matrix  b,
magma_c_matrix *  x,
magma_c_solver_par *  solver_par,
magma_c_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 preconditioned transpose-free Quasi-Minimal Residual method (TFQMR).

Parameters
[in]Amagma_c_matrix input matrix A
[in]bmagma_c_matrix RHS b
[in,out]xmagma_c_matrix* solution approximation
[in,out]solver_parmagma_c_solver_par* solver parameters
[in,out]precond_parmagma_c_preconditioner* preconditioner
[in]queuemagma_queue_t Queue to execute in.
magma_int_t magma_cqr ( magma_int_t  m,
magma_int_t  n,
magma_c_matrix  A,
magma_int_t  lda,
magma_c_matrix *  Q,
magma_c_matrix *  R,
magma_queue_t  queue 
)

This is a wrapper to call MAGMA QR on the data structure of sparse matrices.

Output matrices Q and R reside on the same memory location as matrix A. On exit, Q is a M-by-N matrix in lda-by-N space. On exit, R is a min(M,N)-by-N upper trapezoidal matrix.

Parameters
[in]mmagma_int_t dimension m
[in]nmagma_int_t dimension n
[in]Amagma_c_matrix input matrix A
[in]ldamagma_int_t leading dimension matrix A
[in,out]Qmagma_c_matrix* input matrix Q
[in,out]Rmagma_c_matrix* input matrix R
[in]queuemagma_queue_t Queue to execute in.