![]() |
MAGMA
2.0.2
Matrix Algebra for GPU and Multicore Architectures
|
Functions | |
double | magma_cblas_dasum (magma_int_t n, const double *x, magma_int_t incx) |
Returns the sum of absolute values of vector x; i.e., one norm. More... | |
double | magma_cblas_ddot (magma_int_t n, const double *x, magma_int_t incx, const double *y, magma_int_t incy) |
Returns dot product of vectors x and y; \( x^H y \). More... | |
magma_int_t | magma_idamax (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx) |
Returns index of element of vector x having max. More... | |
magma_int_t | magma_idamin (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx) |
Returns index of element of vector x having min. More... | |
double | magma_dasum (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx) |
Returns the sum of absolute values of vector x; i.e., one norm. More... | |
void | magma_daxpy (magma_int_t n, double alpha, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy) |
Constant times a vector plus a vector; \( y = \alpha x + y \). More... | |
void | magma_dcopy (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy) |
Copy vector x to vector y; \( y = x \). More... | |
double | magma_ddot (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_const_ptr dy, magma_int_t incy) |
Returns dot product of vectors x and y; \( x^H y \). More... | |
double | magma_dnrm2 (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx) |
Returns 2-norm of vector x. More... | |
void | magma_drot (magma_int_t n, magmaDouble_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy, double c, double s) |
Apply Givens plane rotation, where cos (c) is real and sin (s) is real. More... | |
void | magma_drotm (magma_int_t n, double *dx, magma_int_t incx, double *dy, magma_int_t incy, const double *param) |
Apply modified plane rotation. | |
void | magma_drotmg (double *d1, double *d2, double *x1, const double *y1, double *param) |
Generate modified plane rotation. | |
void | magma_dscal (magma_int_t n, double alpha, magmaDouble_ptr dx, magma_int_t incx) |
Scales a vector by a constant; \( x = \alpha x \). More... | |
void | magma_dswap (magma_int_t n, magmaDouble_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy) |
Swap vector x and y; \( x <-> y \). More... | |
magma_int_t | magma_idamax_q (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx, magma_queue_t queue) |
Returns index of element of vector x having max. More... | |
magma_int_t | magma_idamin_q (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx, magma_queue_t queue) |
Returns index of element of vector x having min. More... | |
double | magma_dasum_q (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx, magma_queue_t queue) |
Returns the sum of absolute values of vector x; i.e., one norm. More... | |
void | magma_daxpy_q (magma_int_t n, double alpha, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy, magma_queue_t queue) |
Constant times a vector plus a vector; \( y = \alpha x + y \). More... | |
void | magma_dcopy_q (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy, magma_queue_t queue) |
Copy vector x to vector y; \( y = x \). More... | |
double | magma_ddot (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_const_ptr dy, magma_int_t incy, magma_queue_t queue) |
Returns dot product of vectors x and y; \( x^H y \). More... | |
double | magma_dnrm2_q (magma_int_t n, magmaDouble_const_ptr dx, magma_int_t incx, magma_queue_t queue) |
Returns 2-norm of vector x. More... | |
void | magma_drot_q (magma_int_t n, magmaDouble_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy, double c, double s, magma_queue_t queue) |
Apply Givens plane rotation, where cos (c) is real and sin (s) is real. More... | |
void | magma_drotm_q (magma_int_t n, double *dx, magma_int_t incx, double *dy, magma_int_t incy, const double *param, magma_queue_t queue) |
Apply modified plane rotation. | |
void | magma_drotmg_q (double *d1, double *d2, double *x1, const double *y1, double *param, magma_queue_t queue) |
Generate modified plane rotation. | |
void | magma_dscal_q (magma_int_t n, double alpha, magmaDouble_ptr dx, magma_int_t incx, magma_queue_t queue) |
Scales a vector by a constant; \( x = \alpha x \). More... | |
void | magma_dswap_q (magma_int_t n, magmaDouble_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy, magma_queue_t queue) |
Swap vector x and y; \( x <-> y \). More... | |
void | magmablas_daxpycp (magma_int_t m, magmaDouble_ptr r, magmaDouble_ptr x, magmaDouble_const_ptr b) |
void | magmablas_dsetmatrix_transpose (magma_int_t m, magma_int_t n, const double *hA, magma_int_t lda, magmaDouble_ptr dAT, magma_int_t ldda, magmaDouble_ptr dwork, magma_int_t lddwork, magma_int_t nb) |
void | magmablas_dswap (magma_int_t n, magmaDouble_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy) |
void | magmablas_dsaxpycp (magma_int_t m, magmaFloat_ptr r, magmaDouble_ptr x, magmaDouble_const_ptr b, magmaDouble_ptr w) |
double magma_cblas_dasum | ( | magma_int_t | n, |
const double * | x, | ||
magma_int_t | incx | ||
) |
Returns the sum of absolute values of vector x; i.e., one norm.
To avoid dependence on CBLAS and incompatability issues between BLAS libraries, MAGMA uses its own implementation, following BLAS reference.
[in] | n | Number of elements in vector x. n >= 0. |
[in] | x | DOUBLE PRECISION array on CPU host. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of x. incx > 0. |
double magma_cblas_ddot | ( | magma_int_t | n, |
const double * | x, | ||
magma_int_t | incx, | ||
const double * | y, | ||
magma_int_t | incy | ||
) |
Returns dot product of vectors x and y; \( x^H y \).
To avoid dependence on CBLAS and incompatability issues between BLAS libraries, MAGMA uses its own implementation, following BLAS reference.
[in] | n | Number of elements in vector x and y. n >= 0. |
[in] | x | DOUBLE PRECISION array on CPU host. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of x. incx > 0. |
[in] | y | DOUBLE PRECISION array on CPU host. The n element vector y of dimension (1 + (n-1)*incy). |
[in] | incy | Stride between consecutive elements of dy. incy > 0. |
double magma_dasum | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx | ||
) |
Returns the sum of absolute values of vector x; i.e., one norm.
[in] | n | Number of elements in vector x. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
double magma_dasum_q | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magma_queue_t | queue | ||
) |
Returns the sum of absolute values of vector x; i.e., one norm.
[in] | n | Number of elements in vector x. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
[in] | queue | magma_queue_t Queue to execute in. |
void magma_daxpy | ( | magma_int_t | n, |
double | alpha, | ||
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_ptr | dy, | ||
magma_int_t | incy | ||
) |
Constant times a vector plus a vector; \( y = \alpha x + y \).
[in] | n | Number of elements in vectors x and y. n >= 0. |
[in] | alpha | Scalar \( \alpha \) |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[in,out] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
void magma_daxpy_q | ( | magma_int_t | n, |
double | alpha, | ||
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_ptr | dy, | ||
magma_int_t | incy, | ||
magma_queue_t | queue | ||
) |
Constant times a vector plus a vector; \( y = \alpha x + y \).
[in] | n | Number of elements in vectors x and y. n >= 0. |
[in] | alpha | Scalar \( \alpha \) |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[in,out] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
[in] | queue | magma_queue_t Queue to execute in. |
void magma_dcopy | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_ptr | dy, | ||
magma_int_t | incy | ||
) |
Copy vector x to vector y; \( y = x \).
[in] | n | Number of elements in vectors x and y. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[out] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
void magma_dcopy_q | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_ptr | dy, | ||
magma_int_t | incy, | ||
magma_queue_t | queue | ||
) |
Copy vector x to vector y; \( y = x \).
[in] | n | Number of elements in vectors x and y. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[out] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
[in] | queue | magma_queue_t Queue to execute in. |
double magma_ddot | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_const_ptr | dy, | ||
magma_int_t | incy | ||
) |
Returns dot product of vectors x and y; \( x^H y \).
[in] | n | Number of elements in vector x and y. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[in] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
double magma_ddot | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_const_ptr | dy, | ||
magma_int_t | incy, | ||
magma_queue_t | queue | ||
) |
Returns dot product of vectors x and y; \( x^H y \).
[in] | n | Number of elements in vector x and y. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[in] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
[in] | queue | magma_queue_t Queue to execute in. |
double magma_dnrm2 | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx | ||
) |
Returns 2-norm of vector x.
Avoids unnecesary over/underflow.
[in] | n | Number of elements in vector x and y. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
double magma_dnrm2_q | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magma_queue_t | queue | ||
) |
Returns 2-norm of vector x.
Avoids unnecesary over/underflow.
[in] | n | Number of elements in vector x and y. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
[in] | queue | magma_queue_t Queue to execute in. |
void magma_drot | ( | magma_int_t | n, |
magmaDouble_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_ptr | dy, | ||
magma_int_t | incy, | ||
double | c, | ||
double | s | ||
) |
Apply Givens plane rotation, where cos (c) is real and sin (s) is real.
[in] | n | Number of elements in vector x and y. n >= 0. |
[in,out] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y. |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[in,out] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). On output, overwritten with -conj(s)*x + c*y. |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
[in] | c | double. cosine. |
[in] | s | DOUBLE PRECISION. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ] |
void magma_drot_q | ( | magma_int_t | n, |
magmaDouble_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_ptr | dy, | ||
magma_int_t | incy, | ||
double | c, | ||
double | s, | ||
magma_queue_t | queue | ||
) |
Apply Givens plane rotation, where cos (c) is real and sin (s) is real.
[in] | n | Number of elements in vector x and y. n >= 0. |
[in,out] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). On output, overwritten with c*x + s*y. |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[in,out] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). On output, overwritten with -conj(s)*x + c*y. |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
[in] | c | double. cosine. |
[in] | s | DOUBLE PRECISION. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ] |
[in] | queue | magma_queue_t Queue to execute in. |
void magma_dscal | ( | magma_int_t | n, |
double | alpha, | ||
magmaDouble_ptr | dx, | ||
magma_int_t | incx | ||
) |
Scales a vector by a constant; \( x = \alpha x \).
[in] | n | Number of elements in vector x. n >= 0. |
[in] | alpha | Scalar \( \alpha \) |
[in,out] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
void magma_dscal_q | ( | magma_int_t | n, |
double | alpha, | ||
magmaDouble_ptr | dx, | ||
magma_int_t | incx, | ||
magma_queue_t | queue | ||
) |
Scales a vector by a constant; \( x = \alpha x \).
[in] | n | Number of elements in vector x. n >= 0. |
[in] | alpha | Scalar \( \alpha \) |
[in,out] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
[in] | queue | magma_queue_t Queue to execute in. |
void magma_dswap | ( | magma_int_t | n, |
magmaDouble_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_ptr | dy, | ||
magma_int_t | incy | ||
) |
Swap vector x and y; \( x <-> y \).
[in] | n | Number of elements in vector x and y. n >= 0. |
[in,out] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[in,out] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
void magma_dswap_q | ( | magma_int_t | n, |
magmaDouble_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_ptr | dy, | ||
magma_int_t | incy, | ||
magma_queue_t | queue | ||
) |
Swap vector x and y; \( x <-> y \).
[in] | n | Number of elements in vector x and y. n >= 0. |
[in,out] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx != 0. |
[in,out] | dy | DOUBLE PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). |
[in] | incy | Stride between consecutive elements of dy. incy != 0. |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_idamax | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx | ||
) |
Returns index of element of vector x having max.
absolute value; i.e., max (infinity) norm.
[in] | n | Number of elements in vector x. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
magma_int_t magma_idamax_q | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magma_queue_t | queue | ||
) |
Returns index of element of vector x having max.
absolute value; i.e., max (infinity) norm.
[in] | n | Number of elements in vector x. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
[in] | queue | magma_queue_t Queue to execute in. |
magma_int_t magma_idamin | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx | ||
) |
Returns index of element of vector x having min.
absolute value.
[in] | n | Number of elements in vector x. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
magma_int_t magma_idamin_q | ( | magma_int_t | n, |
magmaDouble_const_ptr | dx, | ||
magma_int_t | incx, | ||
magma_queue_t | queue | ||
) |
Returns index of element of vector x having min.
absolute value.
[in] | n | Number of elements in vector x. n >= 0. |
[in] | dx | DOUBLE PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). |
[in] | incx | Stride between consecutive elements of dx. incx > 0. |
[in] | queue | magma_queue_t Queue to execute in. |
void magmablas_daxpycp | ( | magma_int_t | m, |
magmaDouble_ptr | r, | ||
magmaDouble_ptr | x, | ||
magmaDouble_const_ptr | b | ||
) |
void magmablas_dsaxpycp | ( | magma_int_t | m, |
magmaFloat_ptr | r, | ||
magmaDouble_ptr | x, | ||
magmaDouble_const_ptr | b, | ||
magmaDouble_ptr | w | ||
) |
void magmablas_dsetmatrix_transpose | ( | magma_int_t | m, |
magma_int_t | n, | ||
const double * | hA, | ||
magma_int_t | lda, | ||
magmaDouble_ptr | dAT, | ||
magma_int_t | ldda, | ||
magmaDouble_ptr | dwork, | ||
magma_int_t | lddwork, | ||
magma_int_t | nb | ||
) |
void magmablas_dswap | ( | magma_int_t | n, |
magmaDouble_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDouble_ptr | dy, | ||
magma_int_t | incy | ||
) |