![]() |
MAGMA
1.6.3
Matrix Algebra for GPU and Multicore Architectures
|
Functions | |
double | magma_cblas_dzasum (magma_int_t n, const magmaDoubleComplex *x, magma_int_t incx) |
Returns the sum of absolute values of vector x; i.e., one norm. More... | |
magmaDoubleComplex | magma_cblas_zdotc (magma_int_t n, const magmaDoubleComplex *x, magma_int_t incx, const magmaDoubleComplex *y, magma_int_t incy) |
Returns dot product of vectors x and y; \( x^H y \). More... | |
magmaDoubleComplex | magma_cblas_zdotu (magma_int_t n, const magmaDoubleComplex *x, magma_int_t incx, const magmaDoubleComplex *y, magma_int_t incy) |
Returns dot product (unconjugated) of vectors x and y; \( x^T y \). More... | |
magma_int_t | magma_izamax (magma_int_t n, magmaDoubleComplex_const_ptr dx, magma_int_t incx) |
Returns index of element of vector x having max. More... | |
magma_int_t | magma_izamin (magma_int_t n, magmaDoubleComplex_const_ptr dx, magma_int_t incx) |
Returns index of element of vector x having min. More... | |
double | magma_dzasum (magma_int_t n, magmaDoubleComplex_const_ptr dx, magma_int_t incx) |
Returns the sum of absolute values of vector x; i.e., one norm. More... | |
void | magma_zaxpy (magma_int_t n, magmaDoubleComplex alpha, magmaDoubleComplex_const_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy) |
Constant times a vector plus a vector; \( y = \alpha x + y \). More... | |
void | magma_zcopy (magma_int_t n, magmaDoubleComplex_const_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy) |
Copy vector x to vector y; \( y = x \). More... | |
magmaDoubleComplex | magma_zdotc (magma_int_t n, magmaDoubleComplex_const_ptr dx, magma_int_t incx, magmaDoubleComplex_const_ptr dy, magma_int_t incy) |
Returns dot product of vectors x and y; \( x^H y \). More... | |
magmaDoubleComplex | magma_zdotu (magma_int_t n, magmaDoubleComplex_const_ptr dx, magma_int_t incx, magmaDoubleComplex_const_ptr dy, magma_int_t incy) |
Returns dot product (unconjugated) of vectors x and y; \( x^T y \). More... | |
double | magma_dznrm2 (magma_int_t n, magmaDoubleComplex_const_ptr dx, magma_int_t incx) |
Returns 2-norm of vector x. More... | |
void | magma_zrot (magma_int_t n, magmaDoubleComplex_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy, double c, magmaDoubleComplex s) |
Apply Givens plane rotation, where cos (c) is real and sin (s) is complex. More... | |
void | magma_zdrot (magma_int_t n, magmaDoubleComplex_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy, double c, double s) |
Apply Givens plane rotation, where cos (c) and sin (s) are real. More... | |
void | magma_zscal (magma_int_t n, magmaDoubleComplex alpha, magmaDoubleComplex_ptr dx, magma_int_t incx) |
Scales a vector by a constant; \( x = \alpha x \). More... | |
void | magma_zdscal (magma_int_t n, double alpha, magmaDoubleComplex_ptr dx, magma_int_t incx) |
Scales a vector by a real constant; \( x = \alpha x \). More... | |
void | magma_zswap (magma_int_t n, magmaDoubleComplex_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy) |
Swap vector x and y; \( x <-> y \). More... | |
void | magmablas_zswap_q (magma_int_t n, magmaDoubleComplex_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy, magma_queue_t queue) |
Purpose:Swap vector x and y; \( x <-> y \). More... | |
void | magmablas_zswap (magma_int_t n, magmaDoubleComplex_ptr dx, magma_int_t incx, magmaDoubleComplex_ptr dy, magma_int_t incy) |
double magma_cblas_dzasum | ( | magma_int_t | n, |
const magmaDoubleComplex * | 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 | COMPLEX_16 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. |
magmaDoubleComplex magma_cblas_zdotc | ( | magma_int_t | n, |
const magmaDoubleComplex * | x, | ||
magma_int_t | incx, | ||
const magmaDoubleComplex * | 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 | COMPLEX_16 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 | COMPLEX_16 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. |
magmaDoubleComplex magma_cblas_zdotu | ( | magma_int_t | n, |
const magmaDoubleComplex * | x, | ||
magma_int_t | incx, | ||
const magmaDoubleComplex * | y, | ||
magma_int_t | incy | ||
) |
Returns dot product (unconjugated) of vectors x and y; \( x^T 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 | COMPLEX_16 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 | COMPLEX_16 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_dzasum | ( | magma_int_t | n, |
magmaDoubleComplex_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 | COMPLEX_16 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_dznrm2 | ( | magma_int_t | n, |
magmaDoubleComplex_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 | COMPLEX_16 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_izamax | ( | magma_int_t | n, |
magmaDoubleComplex_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 | COMPLEX_16 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_izamin | ( | magma_int_t | n, |
magmaDoubleComplex_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 | COMPLEX_16 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_zaxpy | ( | magma_int_t | n, |
magmaDoubleComplex | alpha, | ||
magmaDoubleComplex_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDoubleComplex_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 | COMPLEX_16 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 | COMPLEX_16 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_zcopy | ( | magma_int_t | n, |
magmaDoubleComplex_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDoubleComplex_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 | COMPLEX_16 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 | COMPLEX_16 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. |
magmaDoubleComplex magma_zdotc | ( | magma_int_t | n, |
magmaDoubleComplex_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDoubleComplex_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 | COMPLEX_16 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 | COMPLEX_16 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. |
magmaDoubleComplex magma_zdotu | ( | magma_int_t | n, |
magmaDoubleComplex_const_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDoubleComplex_const_ptr | dy, | ||
magma_int_t | incy | ||
) |
Returns dot product (unconjugated) of vectors x and y; \( x^T y \).
[in] | n | Number of elements in vector x and y. n >= 0. |
[in] | dx | COMPLEX_16 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 | COMPLEX_16 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_zdrot | ( | magma_int_t | n, |
magmaDoubleComplex_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDoubleComplex_ptr | dy, | ||
magma_int_t | incy, | ||
double | c, | ||
double | s | ||
) |
Apply Givens plane rotation, where cos (c) and sin (s) are real.
[in] | n | Number of elements in vector x and y. n >= 0. |
[in,out] | dx | COMPLEX_16 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 | COMPLEX_16 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. sine. c and s define a rotation [ c s ] where c*c + s*s = 1. [ -s c ] |
void magma_zdscal | ( | magma_int_t | n, |
double | alpha, | ||
magmaDoubleComplex_ptr | dx, | ||
magma_int_t | incx | ||
) |
Scales a vector by a real constant; \( x = \alpha x \).
[in] | n | Number of elements in vector x. n >= 0. |
[in] | alpha | Scalar \( \alpha \) (real) |
[in,out] | dx | COMPLEX_16 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_zrot | ( | magma_int_t | n, |
magmaDoubleComplex_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDoubleComplex_ptr | dy, | ||
magma_int_t | incy, | ||
double | c, | ||
magmaDoubleComplex | s | ||
) |
Apply Givens plane rotation, where cos (c) is real and sin (s) is complex.
[in] | n | Number of elements in vector x and y. n >= 0. |
[in,out] | dx | COMPLEX_16 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 | COMPLEX_16 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 | COMPLEX_16. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ] |
void magma_zscal | ( | magma_int_t | n, |
magmaDoubleComplex | alpha, | ||
magmaDoubleComplex_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 | COMPLEX_16 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_zswap | ( | magma_int_t | n, |
magmaDoubleComplex_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDoubleComplex_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 | COMPLEX_16 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 | COMPLEX_16 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 magmablas_zswap | ( | magma_int_t | n, |
magmaDoubleComplex_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDoubleComplex_ptr | dy, | ||
magma_int_t | incy | ||
) |
void magmablas_zswap_q | ( | magma_int_t | n, |
magmaDoubleComplex_ptr | dx, | ||
magma_int_t | incx, | ||
magmaDoubleComplex_ptr | dy, | ||
magma_int_t | incy, | ||
magma_queue_t | queue | ||
) |
[in] | n | Number of elements in vector x and y. n >= 0. |
[in,out] | dx | COMPLEX_16 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 | COMPLEX_16 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. |