![]() |
MAGMA
2.0.0
Matrix Algebra for GPU and Multicore Architectures
|
Functions | |
| magma_int_t | magma_zcuspaxpy (magmaDoubleComplex *alpha, magma_z_matrix A, magmaDoubleComplex *beta, magma_z_matrix B, magma_z_matrix *AB, magma_queue_t queue) |
| This is an interface to the cuSPARSE routine csrgeam computing the sum of two sparse matrices stored in csr format: More... | |
| magma_int_t | magma_zcuspmm (magma_z_matrix A, magma_z_matrix B, magma_z_matrix *AB, magma_queue_t queue) |
| This is an interface to the cuSPARSE routine csrmm computing the product of two sparse matrices stored in csr format. More... | |
| magma_int_t | magma_zcustomspmv (magmaDoubleComplex alpha, magma_z_matrix x, magmaDoubleComplex beta, magma_z_matrix y, magma_queue_t queue) |
| This is an interface to any custom sparse matrix vector product. More... | |
| magma_int_t | magma_z_spmv (magmaDoubleComplex alpha, magma_z_matrix A, magma_z_matrix x, magmaDoubleComplex beta, magma_z_matrix y, magma_queue_t queue) |
| For a given input matrix A and vectors x, y and scalars alpha, beta the wrapper determines the suitable SpMV computing y = alpha * A * x + beta * y. More... | |
| magma_int_t | magma_z_spmv_shift (magmaDoubleComplex alpha, magma_z_matrix A, magmaDoubleComplex lambda, magma_z_matrix x, magmaDoubleComplex beta, magma_int_t offset, magma_int_t blocksize, magma_index_t *add_rows, magma_z_matrix y, magma_queue_t queue) |
| For a given input matrix A and vectors x, y and scalars alpha, beta the wrapper determines the suitable SpMV computing y = alpha * ( A - lambda I ) * x + beta * y. More... | |
| magma_int_t | magma_z_spmm (magmaDoubleComplex alpha, magma_z_matrix A, magma_z_matrix B, magma_z_matrix *C, magma_queue_t queue) |
| For a given input matrix A and B and scalar alpha, the wrapper determines the suitable SpMV computing C = alpha * A * B. More... | |
| magma_int_t magma_z_spmm | ( | magmaDoubleComplex | alpha, |
| magma_z_matrix | A, | ||
| magma_z_matrix | B, | ||
| magma_z_matrix * | C, | ||
| magma_queue_t | queue | ||
| ) |
For a given input matrix A and B and scalar alpha, the wrapper determines the suitable SpMV computing C = alpha * A * B.
| [in] | alpha | magmaDoubleComplex scalar alpha |
| [in] | A | magma_z_matrix sparse matrix A |
| [in] | B | magma_z_matrix sparse matrix C |
| [out] | C | magma_z_matrix * outpur sparse matrix C |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_z_spmv | ( | magmaDoubleComplex | alpha, |
| magma_z_matrix | A, | ||
| magma_z_matrix | x, | ||
| magmaDoubleComplex | beta, | ||
| magma_z_matrix | y, | ||
| magma_queue_t | queue | ||
| ) |
For a given input matrix A and vectors x, y and scalars alpha, beta the wrapper determines the suitable SpMV computing y = alpha * A * x + beta * y.
| [in] | alpha | magmaDoubleComplex scalar alpha |
| [in] | A | magma_z_matrix sparse matrix A |
| [in] | x | magma_z_matrix input vector x |
| [in] | beta | magmaDoubleComplex scalar beta |
| [out] | y | magma_z_matrix output vector y |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_z_spmv_shift | ( | magmaDoubleComplex | alpha, |
| magma_z_matrix | A, | ||
| magmaDoubleComplex | lambda, | ||
| magma_z_matrix | x, | ||
| magmaDoubleComplex | beta, | ||
| magma_int_t | offset, | ||
| magma_int_t | blocksize, | ||
| magma_index_t * | add_rows, | ||
| magma_z_matrix | y, | ||
| magma_queue_t | queue | ||
| ) |
For a given input matrix A and vectors x, y and scalars alpha, beta the wrapper determines the suitable SpMV computing y = alpha * ( A - lambda I ) * x + beta * y.
| alpha | magmaDoubleComplex scalar alpha | |
| A | magma_z_matrix sparse matrix A | |
| lambda | magmaDoubleComplex scalar lambda | |
| x | magma_z_matrix input vector x | |
| beta | magmaDoubleComplex scalar beta | |
| offset | magma_int_t in case not the main diagonal is scaled | |
| blocksize | magma_int_t in case of processing multiple vectors | |
| add_rows | magma_int_t* in case the matrixpowerskernel is used | |
| y | magma_z_matrix output vector y | |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zcuspaxpy | ( | magmaDoubleComplex * | alpha, |
| magma_z_matrix | A, | ||
| magmaDoubleComplex * | beta, | ||
| magma_z_matrix | B, | ||
| magma_z_matrix * | AB, | ||
| magma_queue_t | queue | ||
| ) |
This is an interface to the cuSPARSE routine csrgeam computing the sum of two sparse matrices stored in csr format:
C = alpha * A + beta * B
| [in] | alpha | magmaDoubleComplex* scalar |
| [in] | A | magma_z_matrix input matrix |
| [in] | beta | magmaDoubleComplex* scalar |
| [in] | B | magma_z_matrix input matrix |
| [out] | AB | magma_z_matrix* output matrix AB = alpha * A + beta * B |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zcuspmm | ( | magma_z_matrix | A, |
| magma_z_matrix | B, | ||
| magma_z_matrix * | AB, | ||
| magma_queue_t | queue | ||
| ) |
This is an interface to the cuSPARSE routine csrmm computing the product of two sparse matrices stored in csr format.
| [in] | A | magma_z_matrix input matrix |
| [in] | B | magma_z_matrix input matrix |
| [out] | AB | magma_z_matrix* output matrix AB = A * B |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zcustomspmv | ( | magmaDoubleComplex | alpha, |
| magma_z_matrix | x, | ||
| magmaDoubleComplex | beta, | ||
| magma_z_matrix | y, | ||
| magma_queue_t | queue | ||
| ) |
This is an interface to any custom sparse matrix vector product.
It should compute y = alpha*FUNCTION(x) + beta*y The vectors are located on the device, the scalars on the CPU.
| [in] | alpha | magmaDoubleComplex scalar alpha |
| [in] | x | magma_z_matrix input vector x |
| [in] | beta | magmaDoubleComplex scalar beta |
| [out] | y | magma_z_matrix output vector y |
| [in] | queue | magma_queue_t Queue to execute in. |