MAGMA  1.6.3
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages
double precision

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...
 
void magmablas_dswap_q (magma_int_t n, magmaDouble_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy, magma_queue_t queue)
 

Purpose:

Swap vector x and y; \( x <-> y \). More...
 
void magmablas_dswap (magma_int_t n, magmaDouble_ptr dx, magma_int_t incx, magmaDouble_ptr dy, magma_int_t incy)
 

Detailed Description

Function Documentation

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.

Parameters
[in]nNumber of elements in vector x. n >= 0.
[in]xDOUBLE_PRECISION array on CPU host. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride 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.

Parameters
[in]nNumber of elements in vector x and y. n >= 0.
[in]xDOUBLE_PRECISION array on CPU host. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of x. incx > 0.
[in]yDOUBLE_PRECISION array on CPU host. The n element vector y of dimension (1 + (n-1)*incy).
[in]incyStride 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.

Parameters
[in]nNumber of elements in vector x. n >= 0.
[in]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx > 0.
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 \).

Parameters
[in]nNumber of elements in vectors x and y. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyDOUBLE_PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy).
[in]incyStride between consecutive elements of dy. incy != 0.
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 \).

Parameters
[in]nNumber of elements in vectors x and y. n >= 0.
[in]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx != 0.
[out]dyDOUBLE_PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy).
[in]incyStride 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 
)

Returns dot product of vectors x and y; \( x^H y \).

Parameters
[in]nNumber of elements in vector x and y. n >= 0.
[in]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx != 0.
[in]dyDOUBLE_PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy).
[in]incyStride between consecutive elements of dy. incy != 0.
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.

Parameters
[in]nNumber of elements in vector x and y. n >= 0.
[in]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx > 0.
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.

Parameters
[in]nNumber of elements in vector x and y. n >= 0.
[in,out]dxDOUBLE_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]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyDOUBLE_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]incyStride between consecutive elements of dy. incy != 0.
[in]cdouble. cosine.
[in]sDOUBLE_PRECISION. sine. c and s define a rotation [ c s ] where c*c + s*conj(s) = 1. [ -conj(s) c ]
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 \).

Parameters
[in]nNumber of elements in vector x. n >= 0.
[in]alphaScalar \( \alpha \)
[in,out]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx > 0.
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 \).

Parameters
[in]nNumber of elements in vector x and y. n >= 0.
[in,out]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyDOUBLE_PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy).
[in]incyStride between consecutive elements of dy. incy != 0.
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.

Parameters
[in]nNumber of elements in vector x. n >= 0.
[in]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx > 0.
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.

Parameters
[in]nNumber of elements in vector x. n >= 0.
[in]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx > 0.
void magmablas_dswap ( magma_int_t  n,
magmaDouble_ptr  dx,
magma_int_t  incx,
magmaDouble_ptr  dy,
magma_int_t  incy 
)
void magmablas_dswap_q ( magma_int_t  n,
magmaDouble_ptr  dx,
magma_int_t  incx,
magmaDouble_ptr  dy,
magma_int_t  incy,
magma_queue_t  queue 
)

Purpose:

Swap vector x and y; \( x <-> y \).

Parameters
[in]nNumber of elements in vector x and y. n >= 0.
[in,out]dxDOUBLE_PRECISION array on GPU device. The n element vector x of dimension (1 + (n-1)*incx).
[in]incxStride between consecutive elements of dx. incx != 0.
[in,out]dyDOUBLE_PRECISION array on GPU device. The n element vector y of dimension (1 + (n-1)*incy).
[in]incyStride between consecutive elements of dy. incy != 0.
[in]queuemagma_queue_t Queue to execute in.