![]() |
MAGMA 2.10.0
Matrix Algebra for GPU and Multicore Architectures
|
Functions | |
| magma_int_t | magma_zvalinit_gpu (magma_int_t num_el, magmaDoubleComplex_ptr dval, magma_queue_t queue) |
| Initializes a device array with zero. | |
| magma_int_t | magma_zindexinit_gpu (magma_int_t num_el, magmaIndex_ptr dind, magma_queue_t queue) |
| Initializes a device array with zero. | |
| magma_int_t | magma_zcompact (magma_int_t m, magma_int_t n, magmaDoubleComplex_ptr dA, magma_int_t ldda, magmaDouble_ptr dnorms, double tol, magmaInt_ptr active, magmaInt_ptr cBlock, magma_queue_t queue) |
| ZCOMPACT takes a set of n vectors of size m (in dA) and their norms and compacts them into the cBlock size<=n vectors that have norms > tol. | |
| magma_int_t | magma_zjacobisetup_vector_gpu (magma_int_t num_rows, magma_z_matrix b, magma_z_matrix d, magma_z_matrix c, magma_z_matrix *x, magma_queue_t queue) |
| Prepares the Jacobi Iteration according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k. | |
| magma_int_t | magma_zlobpcg_maxpy (magma_int_t num_rows, magma_int_t num_vecs, magmaDoubleComplex_ptr X, magmaDoubleComplex_ptr Y, magma_queue_t queue) |
| This routine computes a axpy for a mxn matrix: | |
| magma_int_t | magma_zbicgstab_1 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex beta, magmaDoubleComplex omega, magmaDoubleComplex_ptr r, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr p, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zbicgstab_2 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex alpha, magmaDoubleComplex_ptr r, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr s, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zbicgstab_3 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex alpha, magmaDoubleComplex omega, magmaDoubleComplex_ptr p, magmaDoubleComplex_ptr s, magmaDoubleComplex_ptr t, magmaDoubleComplex_ptr x, magmaDoubleComplex_ptr r, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zbicgstab_4 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex alpha, magmaDoubleComplex omega, magmaDoubleComplex_ptr y, magmaDoubleComplex_ptr z, magmaDoubleComplex_ptr s, magmaDoubleComplex_ptr t, magmaDoubleComplex_ptr x, magmaDoubleComplex_ptr r, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zcgmerge_spmv1 (magma_z_matrix A, magmaDoubleComplex_ptr d1, magmaDoubleComplex_ptr d2, magmaDoubleComplex_ptr dd, magmaDoubleComplex_ptr dz, magmaDoubleComplex_ptr skp, magma_queue_t queue) |
| Merges the first SpmV using different formats with the dot product and the computation of rho. | |
| magma_int_t | magma_zcgs_1 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex beta, magmaDoubleComplex_ptr r, magmaDoubleComplex_ptr q, magmaDoubleComplex_ptr u, magmaDoubleComplex_ptr p, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zcgs_2 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex_ptr r, magmaDoubleComplex_ptr u, magmaDoubleComplex_ptr p, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zcgs_3 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex alpha, magmaDoubleComplex_ptr v_hat, magmaDoubleComplex_ptr u, magmaDoubleComplex_ptr q, magmaDoubleComplex_ptr t, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zcgs_4 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex alpha, magmaDoubleComplex_ptr u_hat, magmaDoubleComplex_ptr t, magmaDoubleComplex_ptr x, magmaDoubleComplex_ptr r, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zidr_smoothing_1 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex_ptr drs, magmaDoubleComplex_ptr dr, magmaDoubleComplex_ptr dt, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zidr_smoothing_2 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex omega, magmaDoubleComplex_ptr dx, magmaDoubleComplex_ptr dxs, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zqmr_1 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex rho, magmaDoubleComplex psi, magmaDoubleComplex_ptr y, magmaDoubleComplex_ptr z, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr w, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zqmr_2 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex pde, magmaDoubleComplex rde, magmaDoubleComplex_ptr y, magmaDoubleComplex_ptr z, magmaDoubleComplex_ptr p, magmaDoubleComplex_ptr q, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zqmr_3 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex beta, magmaDoubleComplex_ptr pt, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr y, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zqmr_4 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex eta, magmaDoubleComplex_ptr p, magmaDoubleComplex_ptr pt, magmaDoubleComplex_ptr d, magmaDoubleComplex_ptr s, magmaDoubleComplex_ptr x, magmaDoubleComplex_ptr r, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zqmr_5 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex eta, magmaDoubleComplex pds, magmaDoubleComplex_ptr p, magmaDoubleComplex_ptr pt, magmaDoubleComplex_ptr d, magmaDoubleComplex_ptr s, magmaDoubleComplex_ptr x, magmaDoubleComplex_ptr r, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zqmr_6 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex beta, magmaDoubleComplex rho, magmaDoubleComplex psi, magmaDoubleComplex_ptr y, magmaDoubleComplex_ptr z, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr w, magmaDoubleComplex_ptr wt, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zqmr_7 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex beta, magmaDoubleComplex_ptr pt, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr vt, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_zqmr_8 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex rho, magmaDoubleComplex psi, magmaDoubleComplex_ptr vt, magmaDoubleComplex_ptr wt, magmaDoubleComplex_ptr y, magmaDoubleComplex_ptr z, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr w, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_ztfqmr_1 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex alpha, magmaDoubleComplex sigma, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr Au, magmaDoubleComplex_ptr u_m, magmaDoubleComplex_ptr pu_m, magmaDoubleComplex_ptr u_mp1, magmaDoubleComplex_ptr w, magmaDoubleComplex_ptr d, magmaDoubleComplex_ptr Ad, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_ztfqmr_2 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex eta, magmaDoubleComplex_ptr d, magmaDoubleComplex_ptr Ad, magmaDoubleComplex_ptr x, magmaDoubleComplex_ptr r, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_ztfqmr_3 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex beta, magmaDoubleComplex_ptr w, magmaDoubleComplex_ptr u_m, magmaDoubleComplex_ptr u_mp1, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t | magma_ztfqmr_4 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex beta, magmaDoubleComplex_ptr Au_new, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr Au, magma_queue_t queue) |
| Merges multiple operations into one kernel: | |
| magma_int_t | magma_ztfqmr_5 (magma_int_t num_rows, magma_int_t num_cols, magmaDoubleComplex alpha, magmaDoubleComplex sigma, magmaDoubleComplex_ptr v, magmaDoubleComplex_ptr Au, magmaDoubleComplex_ptr u_mp1, magmaDoubleComplex_ptr w, magmaDoubleComplex_ptr d, magmaDoubleComplex_ptr Ad, magma_queue_t queue) |
| Mergels multiple operations into one kernel: | |
| magma_int_t magma_zvalinit_gpu | ( | magma_int_t | num_el, |
| magmaDoubleComplex_ptr | dval, | ||
| magma_queue_t | queue ) |
Initializes a device array with zero.
| [in] | num_el | magma_int_t size of array |
| [in,out] | dval | magmaDoubleComplex_ptr array to initialize |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zindexinit_gpu | ( | magma_int_t | num_el, |
| magmaIndex_ptr | dind, | ||
| magma_queue_t | queue ) |
Initializes a device array with zero.
| [in] | num_el | magma_int_t size of array |
| [in,out] | dind | magmaIndex_ptr array to initialize |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zcompact | ( | magma_int_t | m, |
| magma_int_t | n, | ||
| magmaDoubleComplex_ptr | dA, | ||
| magma_int_t | ldda, | ||
| magmaDouble_ptr | dnorms, | ||
| double | tol, | ||
| magmaInt_ptr | active, | ||
| magmaInt_ptr | cBlock, | ||
| magma_queue_t | queue ) |
ZCOMPACT takes a set of n vectors of size m (in dA) and their norms and compacts them into the cBlock size<=n vectors that have norms > tol.
The active mask array has 1 or 0, showing if a vector remained or not in the compacted resulting set of vectors.
| [in] | m | INTEGER The number of rows of the matrix dA. M >= 0. |
| [in] | n | INTEGER The number of columns of the matrix dA. N >= 0. |
| [in,out] | dA | COMPLEX DOUBLE PRECISION array, dimension (LDDA,N) The m by n matrix dA. |
| [in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,M). |
| [in] | dnorms | DOUBLE PRECISION array, dimension N The norms of the N vectors in dA |
| [in] | tol | DOUBLE PRECISON The tolerance value used in the criteria to compact or not. |
| [in,out] | active | INTEGER array, dimension N A mask of 1s and 0s showing if a vector remains or has been removed |
| [in,out] | cBlock | magmaInt_ptr The number of vectors that remain in dA (i.e., with norms > tol). |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zjacobisetup_vector_gpu | ( | magma_int_t | num_rows, |
| magma_z_matrix | b, | ||
| magma_z_matrix | d, | ||
| magma_z_matrix | c, | ||
| magma_z_matrix * | x, | ||
| magma_queue_t | queue ) |
Prepares the Jacobi Iteration according to x^(k+1) = D^(-1) * b - D^(-1) * (L+U) * x^k x^(k+1) = c - M * x^k.
Returns the vector c. It calls a GPU kernel
| [in] | num_rows | magma_int_t number of rows |
| [in] | b | magma_z_matrix RHS b |
| [in] | d | magma_z_matrix vector with diagonal entries |
| [out] | c | magma_z_matrix* c = D^(-1) * b |
| [out] | x | magma_z_matrix* iteration vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zlobpcg_maxpy | ( | magma_int_t | num_rows, |
| magma_int_t | num_vecs, | ||
| magmaDoubleComplex_ptr | X, | ||
| magmaDoubleComplex_ptr | Y, | ||
| magma_queue_t | queue ) |
This routine computes a axpy for a mxn matrix:
Y = X + Y
It replaces: magma_zaxpy(m*n, c_one, Y, 1, X, 1);
/ x1[0] x2[0] x3[0] \ | x1[1] x2[1] x3[1] |
X = | x1[2] x2[2] x3[2] | = x1[0] x1[1] x1[2] x1[3] x1[4] x2[0] x2[1] . | x1[3] x2[3] x3[3] | \ x1[4] x2[4] x3[4] /
| [in] | num_rows | magma_int_t number of rows |
| [in] | num_vecs | magma_int_t number of vectors |
| [in] | X | magmaDoubleComplex_ptr input vector X |
| [in,out] | Y | magmaDoubleComplex_ptr input/output vector Y |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zbicgstab_1 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | beta, | ||
| magmaDoubleComplex | omega, | ||
| magmaDoubleComplex_ptr | r, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | p, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
p = r + beta * ( p - omega * v )
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | beta | magmaDoubleComplex scalar |
| [in] | omega | magmaDoubleComplex scalar |
| [in] | r | magmaDoubleComplex_ptr vector |
| [in] | v | magmaDoubleComplex_ptr vector |
| [in,out] | p | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zbicgstab_2 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | alpha, | ||
| magmaDoubleComplex_ptr | r, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | s, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
s = r - alpha v
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | alpha | magmaDoubleComplex scalar |
| [in] | r | magmaDoubleComplex_ptr vector |
| [in] | v | magmaDoubleComplex_ptr vector |
| [in,out] | s | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zbicgstab_3 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | alpha, | ||
| magmaDoubleComplex | omega, | ||
| magmaDoubleComplex_ptr | p, | ||
| magmaDoubleComplex_ptr | s, | ||
| magmaDoubleComplex_ptr | t, | ||
| magmaDoubleComplex_ptr | x, | ||
| magmaDoubleComplex_ptr | r, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
x = x + alpha * p + omega * s r = s - omega * t
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | alpha | magmaDoubleComplex scalar |
| [in] | omega | magmaDoubleComplex scalar |
| [in] | p | magmaDoubleComplex_ptr vector |
| [in] | s | magmaDoubleComplex_ptr vector |
| [in] | t | magmaDoubleComplex_ptr vector |
| [in,out] | x | magmaDoubleComplex_ptr vector |
| [in,out] | r | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zbicgstab_4 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | alpha, | ||
| magmaDoubleComplex | omega, | ||
| magmaDoubleComplex_ptr | y, | ||
| magmaDoubleComplex_ptr | z, | ||
| magmaDoubleComplex_ptr | s, | ||
| magmaDoubleComplex_ptr | t, | ||
| magmaDoubleComplex_ptr | x, | ||
| magmaDoubleComplex_ptr | r, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
x = x + alpha * y + omega * z r = s - omega * t
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | alpha | magmaDoubleComplex scalar |
| [in] | omega | magmaDoubleComplex scalar |
| [in] | y | magmaDoubleComplex_ptr vector |
| [in] | z | magmaDoubleComplex_ptr vector |
| [in] | s | magmaDoubleComplex_ptr vector |
| [in] | t | magmaDoubleComplex_ptr vector |
| [in,out] | x | magmaDoubleComplex_ptr vector |
| [in,out] | r | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zcgmerge_spmv1 | ( | magma_z_matrix | A, |
| magmaDoubleComplex_ptr | d1, | ||
| magmaDoubleComplex_ptr | d2, | ||
| magmaDoubleComplex_ptr | dd, | ||
| magmaDoubleComplex_ptr | dz, | ||
| magmaDoubleComplex_ptr | skp, | ||
| magma_queue_t | queue ) |
Merges the first SpmV using different formats with the dot product and the computation of rho.
| [in] | A | magma_z_matrix input matrix |
| [in] | d1 | magmaDoubleComplex_ptr temporary vector |
| [in] | d2 | magmaDoubleComplex_ptr temporary vector |
| [in] | dd | magmaDoubleComplex_ptr input vector d |
| [out] | dz | magmaDoubleComplex_ptr input vector z |
| [out] | skp | magmaDoubleComplex_ptr array for parameters ( skp[3]=rho ) |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zcgs_1 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | beta, | ||
| magmaDoubleComplex_ptr | r, | ||
| magmaDoubleComplex_ptr | q, | ||
| magmaDoubleComplex_ptr | u, | ||
| magmaDoubleComplex_ptr | p, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
u = r + beta q p = u + beta*(q + beta*p)
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | beta | magmaDoubleComplex scalar |
| [in] | r | magmaDoubleComplex_ptr vector |
| [in] | q | magmaDoubleComplex_ptr vector |
| [in,out] | u | magmaDoubleComplex_ptr vector |
| [in,out] | p | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zcgs_2 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex_ptr | r, | ||
| magmaDoubleComplex_ptr | u, | ||
| magmaDoubleComplex_ptr | p, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
u = r p = r
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | r | magmaDoubleComplex_ptr vector |
| [in,out] | u | magmaDoubleComplex_ptr vector |
| [in,out] | p | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zcgs_3 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | alpha, | ||
| magmaDoubleComplex_ptr | v_hat, | ||
| magmaDoubleComplex_ptr | u, | ||
| magmaDoubleComplex_ptr | q, | ||
| magmaDoubleComplex_ptr | t, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
q = u - alpha v_hat t = u + q
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | alpha | magmaDoubleComplex scalar |
| [in] | v_hat | magmaDoubleComplex_ptr vector |
| [in] | u | magmaDoubleComplex_ptr vector |
| [in,out] | q | magmaDoubleComplex_ptr vector |
| [in,out] | t | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zcgs_4 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | alpha, | ||
| magmaDoubleComplex_ptr | u_hat, | ||
| magmaDoubleComplex_ptr | t, | ||
| magmaDoubleComplex_ptr | x, | ||
| magmaDoubleComplex_ptr | r, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
x = x + alpha u_hat r = r -alpha*A u_hat = r -alpha*t
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | alpha | magmaDoubleComplex scalar |
| [in] | u_hat | magmaDoubleComplex_ptr vector |
| [in] | t | magmaDoubleComplex_ptr vector |
| [in,out] | x | magmaDoubleComplex_ptr vector |
| [in,out] | r | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zidr_smoothing_1 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex_ptr | drs, | ||
| magmaDoubleComplex_ptr | dr, | ||
| magmaDoubleComplex_ptr | dt, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
dt = drs - dr
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | drs | magmaDoubleComplex_ptr vector |
| [in] | dr | magmaDoubleComplex_ptr vector |
| [in,out] | dt | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zidr_smoothing_2 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | omega, | ||
| magmaDoubleComplex_ptr | dx, | ||
| magmaDoubleComplex_ptr | dxs, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
dxs = dxs - gamma*(dxs-dx)
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | omega | magmaDoubleComplex scalar |
| [in] | dx | magmaDoubleComplex_ptr vector |
| [in,out] | dxs | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zqmr_1 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | rho, | ||
| magmaDoubleComplex | psi, | ||
| magmaDoubleComplex_ptr | y, | ||
| magmaDoubleComplex_ptr | z, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | w, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
v = y / rho y = y / rho w = wt / psi z = z / psi
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | rho | magmaDoubleComplex scalar |
| [in] | psi | magmaDoubleComplex scalar |
| [in,out] | y | magmaDoubleComplex_ptr vector |
| [in,out] | z | magmaDoubleComplex_ptr vector |
| [in,out] | v | magmaDoubleComplex_ptr vector |
| [in,out] | w | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zqmr_2 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | pde, | ||
| magmaDoubleComplex | rde, | ||
| magmaDoubleComplex_ptr | y, | ||
| magmaDoubleComplex_ptr | z, | ||
| magmaDoubleComplex_ptr | p, | ||
| magmaDoubleComplex_ptr | q, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
p = y - pde * p q = z - rde * q
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | pde | magmaDoubleComplex scalar |
| [in] | rde | magmaDoubleComplex scalar |
| [in] | y | magmaDoubleComplex_ptr vector |
| [in] | z | magmaDoubleComplex_ptr vector |
| [in,out] | p | magmaDoubleComplex_ptr vector |
| [in,out] | q | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zqmr_3 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | beta, | ||
| magmaDoubleComplex_ptr | pt, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | y, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
v = pt - beta * v y = v
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | beta | magmaDoubleComplex scalar |
| [in] | pt | magmaDoubleComplex_ptr vector |
| [in,out] | v | magmaDoubleComplex_ptr vector |
| [in,out] | y | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zqmr_4 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | eta, | ||
| magmaDoubleComplex_ptr | p, | ||
| magmaDoubleComplex_ptr | pt, | ||
| magmaDoubleComplex_ptr | d, | ||
| magmaDoubleComplex_ptr | s, | ||
| magmaDoubleComplex_ptr | x, | ||
| magmaDoubleComplex_ptr | r, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
d = eta * p; s = eta * pt; x = x + d; r = r - s;
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | eta | magmaDoubleComplex scalar |
| [in] | p | magmaDoubleComplex_ptr vector |
| [in] | pt | magmaDoubleComplex_ptr vector |
| [in,out] | d | magmaDoubleComplex_ptr vector |
| [in,out] | s | magmaDoubleComplex_ptr vector |
| [in,out] | x | magmaDoubleComplex_ptr vector |
| [in,out] | r | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zqmr_5 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | eta, | ||
| magmaDoubleComplex | pds, | ||
| magmaDoubleComplex_ptr | p, | ||
| magmaDoubleComplex_ptr | pt, | ||
| magmaDoubleComplex_ptr | d, | ||
| magmaDoubleComplex_ptr | s, | ||
| magmaDoubleComplex_ptr | x, | ||
| magmaDoubleComplex_ptr | r, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
d = eta * p + pds * d; s = eta * pt + pds * s; x = x + d; r = r - s;
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | eta | magmaDoubleComplex scalar |
| [in] | pds | magmaDoubleComplex scalar |
| [in] | p | magmaDoubleComplex_ptr vector |
| [in] | pt | magmaDoubleComplex_ptr vector |
| [in,out] | d | magmaDoubleComplex_ptr vector |
| [in,out] | s | magmaDoubleComplex_ptr vector |
| [in,out] | x | magmaDoubleComplex_ptr vector |
| [in,out] | r | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zqmr_6 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | beta, | ||
| magmaDoubleComplex | rho, | ||
| magmaDoubleComplex | psi, | ||
| magmaDoubleComplex_ptr | y, | ||
| magmaDoubleComplex_ptr | z, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | w, | ||
| magmaDoubleComplex_ptr | wt, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
wt = wt - conj(beta) * w v = y / rho y = y / rho w = wt / psi z = wt / psi
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | beta | magmaDoubleComplex scalar |
| [in] | rho | magmaDoubleComplex scalar |
| [in] | psi | magmaDoubleComplex scalar |
| [in,out] | y | magmaDoubleComplex_ptr vector |
| [in,out] | z | magmaDoubleComplex_ptr vector |
| [in,out] | v | magmaDoubleComplex_ptr vector |
| [in,out] | w | magmaDoubleComplex_ptr vector |
| [in,out] | wt | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zqmr_7 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | beta, | ||
| magmaDoubleComplex_ptr | pt, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | vt, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
vt = pt - beta * v
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | beta | magmaDoubleComplex scalar |
| [in] | pt | magmaDoubleComplex_ptr vector |
| [in,out] | v | magmaDoubleComplex_ptr vector |
| [in,out] | vt | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_zqmr_8 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | rho, | ||
| magmaDoubleComplex | psi, | ||
| magmaDoubleComplex_ptr | vt, | ||
| magmaDoubleComplex_ptr | wt, | ||
| magmaDoubleComplex_ptr | y, | ||
| magmaDoubleComplex_ptr | z, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | w, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
v = y / rho y = y / rho w = wt / psi z = z / psi
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | rho | magmaDoubleComplex scalar |
| [in] | psi | magmaDoubleComplex scalar |
| [in] | vt | magmaDoubleComplex_ptr vector |
| [in] | wt | magmaDoubleComplex_ptr vector |
| [in,out] | y | magmaDoubleComplex_ptr vector |
| [in,out] | z | magmaDoubleComplex_ptr vector |
| [in,out] | v | magmaDoubleComplex_ptr vector |
| [in,out] | w | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_ztfqmr_1 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | alpha, | ||
| magmaDoubleComplex | sigma, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | Au, | ||
| magmaDoubleComplex_ptr | u_m, | ||
| magmaDoubleComplex_ptr | pu_m, | ||
| magmaDoubleComplex_ptr | u_mp1, | ||
| magmaDoubleComplex_ptr | w, | ||
| magmaDoubleComplex_ptr | d, | ||
| magmaDoubleComplex_ptr | Ad, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
u_mp1 = u_mp1 - alpha*v; w = w - alpha*Au; d = pu_m + sigma*d; Ad = Au + sigma*Ad;
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | alpha | magmaDoubleComplex scalar |
| [in] | sigma | magmaDoubleComplex scalar |
| [in] | v | magmaDoubleComplex_ptr vector |
| [in] | Au | magmaDoubleComplex_ptr vector |
| [in,out] | u_m | magmaDoubleComplex_ptr vector |
| [in,out] | pu_m | magmaDoubleComplex_ptr vector |
| [in,out] | u_mp1 | magmaDoubleComplex_ptr vector |
| [in,out] | w | magmaDoubleComplex_ptr vector |
| [in,out] | d | magmaDoubleComplex_ptr vector |
| [in,out] | Ad | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_ztfqmr_2 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | eta, | ||
| magmaDoubleComplex_ptr | d, | ||
| magmaDoubleComplex_ptr | Ad, | ||
| magmaDoubleComplex_ptr | x, | ||
| magmaDoubleComplex_ptr | r, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
x = x + eta * d r = r - eta * Ad
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | eta | magmaDoubleComplex scalar |
| [in] | d | magmaDoubleComplex_ptr vector |
| [in] | Ad | magmaDoubleComplex_ptr vector |
| [in,out] | x | magmaDoubleComplex_ptr vector |
| [in,out] | r | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_ztfqmr_3 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | beta, | ||
| magmaDoubleComplex_ptr | w, | ||
| magmaDoubleComplex_ptr | u_m, | ||
| magmaDoubleComplex_ptr | u_mp1, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
u_mp1 = w + beta*u_mp1
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | beta | magmaDoubleComplex scalar |
| [in] | w | magmaDoubleComplex_ptr vector |
| [in] | u_m | magmaDoubleComplex_ptr vector |
| [in,out] | u_mp1 | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_ztfqmr_4 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | beta, | ||
| magmaDoubleComplex_ptr | Au_new, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | Au, | ||
| magma_queue_t | queue ) |
Merges multiple operations into one kernel:
v = Au_new + beta*(Au+beta*v); Au = Au_new
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | beta | magmaDoubleComplex scalar |
| [in] | Au_new | magmaDoubleComplex_ptr vector |
| [in,out] | v | magmaDoubleComplex_ptr vector |
| [in,out] | Au | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |
| magma_int_t magma_ztfqmr_5 | ( | magma_int_t | num_rows, |
| magma_int_t | num_cols, | ||
| magmaDoubleComplex | alpha, | ||
| magmaDoubleComplex | sigma, | ||
| magmaDoubleComplex_ptr | v, | ||
| magmaDoubleComplex_ptr | Au, | ||
| magmaDoubleComplex_ptr | u_mp1, | ||
| magmaDoubleComplex_ptr | w, | ||
| magmaDoubleComplex_ptr | d, | ||
| magmaDoubleComplex_ptr | Ad, | ||
| magma_queue_t | queue ) |
Mergels multiple operations into one kernel:
w = w - alpha*Au; d = pu_m + sigma*d; Ad = Au + sigma*Ad;
| [in] | num_rows | magma_int_t dimension m |
| [in] | num_cols | magma_int_t dimension n |
| [in] | alpha | magmaDoubleComplex scalar |
| [in] | sigma | magmaDoubleComplex scalar |
| [in] | v | magmaDoubleComplex_ptr vector |
| [in] | Au | magmaDoubleComplex_ptr vector |
| [in,out] | u_mp1 | magmaDoubleComplex_ptr vector |
| [in,out] | w | magmaDoubleComplex_ptr vector |
| [in,out] | d | magmaDoubleComplex_ptr vector |
| [in,out] | Ad | magmaDoubleComplex_ptr vector |
| [in] | queue | magma_queue_t Queue to execute in. |