MAGMA  2.0.0
Matrix Algebra for GPU and Multicore Architectures
double precision

Functions

void magma_dgemv (magma_trans_t transA, magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_const_ptr dx, magma_int_t incx, double beta, magmaDouble_ptr dy, magma_int_t incy)
 Perform matrix-vector product. More...
 
void magma_dger (magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_const_ptr dy, magma_int_t incy, magmaDouble_ptr dA, magma_int_t ldda)
 Perform rank-1 update, \( A = \alpha x y^H + A \). More...
 
void magma_dsymv (magma_uplo_t uplo, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_const_ptr dx, magma_int_t incx, double beta, magmaDouble_ptr dy, magma_int_t incy)
 Perform symmetric matrix-vector product, \( y = \alpha A x + \beta y \). More...
 
void magma_dsyr (magma_uplo_t uplo, magma_int_t n, double alpha, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_ptr dA, magma_int_t ldda)
 Perform symmetric rank-1 update, \( A = \alpha x x^H + A \). More...
 
void magma_dsyr2 (magma_uplo_t uplo, magma_int_t n, double alpha, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_const_ptr dy, magma_int_t incy, magmaDouble_ptr dA, magma_int_t ldda)
 Perform symmetric rank-2 update, \( A = \alpha x y^H + conj(\alpha) y x^H + A \). More...
 
void magma_dtrmv (magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dx, magma_int_t incx)
 Perform triangular matrix-vector product. More...
 
void magma_dtrsv (magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dx, magma_int_t incx)
 Solve triangular matrix-vector system (one right-hand side). More...
 
void magma_dgemv_q (magma_trans_t transA, magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_const_ptr dx, magma_int_t incx, double beta, magmaDouble_ptr dy, magma_int_t incy, magma_queue_t queue)
 Perform matrix-vector product. More...
 
void magma_dger_q (magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_const_ptr dy, magma_int_t incy, magmaDouble_ptr dA, magma_int_t ldda, magma_queue_t queue)
 Perform rank-1 update, \( A = \alpha x y^H + A \). More...
 
void magma_dsymv_q (magma_uplo_t uplo, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_const_ptr dx, magma_int_t incx, double beta, magmaDouble_ptr dy, magma_int_t incy, magma_queue_t queue)
 Perform symmetric matrix-vector product, \( y = \alpha A x + \beta y \). More...
 
void magma_dsyr_q (magma_uplo_t uplo, magma_int_t n, double alpha, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_ptr dA, magma_int_t ldda, magma_queue_t queue)
 Perform symmetric rank-1 update, \( A = \alpha x x^H + A \). More...
 
void magma_dsyr2_q (magma_uplo_t uplo, magma_int_t n, double alpha, magmaDouble_const_ptr dx, magma_int_t incx, magmaDouble_const_ptr dy, magma_int_t incy, magmaDouble_ptr dA, magma_int_t ldda, magma_queue_t queue)
 Perform symmetric rank-2 update, \( A = \alpha x y^H + conj(\alpha) y x^H + A \). More...
 
void magma_dtrmv_q (magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dx, magma_int_t incx, magma_queue_t queue)
 Perform triangular matrix-vector product. More...
 
void magma_dtrsv_q (magma_uplo_t uplo, magma_trans_t trans, magma_diag_t diag, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dx, magma_int_t incx, magma_queue_t queue)
 Solve triangular matrix-vector system (one right-hand side). More...
 
void magmablas_dgemv (magma_trans_t trans, magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_const_ptr dx, magma_int_t incx, double beta, magmaDouble_ptr dy, magma_int_t incy)
 
void magmablas_dgemv_conj (magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_const_ptr dx, magma_int_t incx, double beta, magmaDouble_ptr dy, magma_int_t incy)
 
magma_int_t magmablas_dsymv (magma_uplo_t uplo, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_const_ptr dx, magma_int_t incx, double beta, magmaDouble_ptr dy, magma_int_t incy)
 
void magmablas_dswapblk (magma_order_t order, magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda, magmaDouble_ptr dB, magma_int_t lddb, magma_int_t i1, magma_int_t i2, const magma_int_t *ipiv, magma_int_t inci, magma_int_t offset)
 

Detailed Description

Function Documentation

void magma_dgemv ( magma_trans_t  transA,
magma_int_t  m,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
double  beta,
magmaDouble_ptr  dy,
magma_int_t  incy 
)

Perform matrix-vector product.

\( y = \alpha A x + \beta y \) (transA == MagmaNoTrans), or
\( y = \alpha A^T x + \beta y \) (transA == MagmaTrans), or
\( y = \alpha A^H x + \beta y \) (transA == MagmaConjTrans).

Parameters
[in]transAOperation to perform on A.
[in]mNumber of rows of A. m >= 0.
[in]nNumber of columns of A. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,m). The m-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[in]dxDOUBLE PRECISION array on GPU device. If transA == MagmaNoTrans, the n element vector x of dimension (1 + (n-1)*incx);
otherwise, the m element vector x of dimension (1 + (m-1)*incx).
[in]incxStride between consecutive elements of dx. incx != 0.
[in]betaScalar \( \beta \)
[in,out]dyDOUBLE PRECISION array on GPU device. If transA == MagmaNoTrans, the m element vector y of dimension (1 + (m-1)*incy);
otherwise, the n element vector y of dimension (1 + (n-1)*incy).
[in]incyStride between consecutive elements of dy. incy != 0.
void magma_dgemv_q ( magma_trans_t  transA,
magma_int_t  m,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
double  beta,
magmaDouble_ptr  dy,
magma_int_t  incy,
magma_queue_t  queue 
)

Perform matrix-vector product.

\( y = \alpha A x + \beta y \) (transA == MagmaNoTrans), or
\( y = \alpha A^T x + \beta y \) (transA == MagmaTrans), or
\( y = \alpha A^H x + \beta y \) (transA == MagmaConjTrans).

Parameters
[in]transAOperation to perform on A.
[in]mNumber of rows of A. m >= 0.
[in]nNumber of columns of A. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,m). The m-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[in]dxDOUBLE PRECISION array on GPU device. If transA == MagmaNoTrans, the n element vector x of dimension (1 + (n-1)*incx);
otherwise, the m element vector x of dimension (1 + (m-1)*incx).
[in]incxStride between consecutive elements of dx. incx != 0.
[in]betaScalar \( \beta \)
[in,out]dyDOUBLE PRECISION array on GPU device. If transA == MagmaNoTrans, the m element vector y of dimension (1 + (m-1)*incy);
otherwise, 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.
void magma_dger ( magma_int_t  m,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
magmaDouble_const_ptr  dy,
magma_int_t  incy,
magmaDouble_ptr  dA,
magma_int_t  ldda 
)

Perform rank-1 update, \( A = \alpha x y^H + A \).

Parameters
[in]mNumber of rows of A. m >= 0.
[in]nNumber of columns of A. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dxDOUBLE PRECISION array on GPU device. The m element vector x of dimension (1 + (m-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.
[in,out]dADOUBLE PRECISION array on GPU device. The m-by-n matrix A of dimension (ldda,n), ldda >= max(1,m).
[in]lddaLeading dimension of dA.
void magma_dger_q ( magma_int_t  m,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
magmaDouble_const_ptr  dy,
magma_int_t  incy,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magma_queue_t  queue 
)

Perform rank-1 update, \( A = \alpha x y^H + A \).

Parameters
[in]mNumber of rows of A. m >= 0.
[in]nNumber of columns of A. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dxDOUBLE PRECISION array on GPU device. The m element vector x of dimension (1 + (m-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.
[in,out]dADOUBLE PRECISION array on GPU device. The m-by-n matrix A of dimension (ldda,n), ldda >= max(1,m).
[in]lddaLeading dimension of dA.
[in]queuemagma_queue_t Queue to execute in.
void magma_dsymv ( magma_uplo_t  uplo,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
double  beta,
magmaDouble_ptr  dy,
magma_int_t  incy 
)

Perform symmetric matrix-vector product, \( y = \alpha A x + \beta y \).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]nNumber of rows and columns of A. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[in]dxDOUBLE PRECISION array on GPU device. The m element vector x of dimension (1 + (m-1)*incx).
[in]incxStride between consecutive elements of dx. incx != 0.
[in]betaScalar \( \beta \)
[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_dsymv_q ( magma_uplo_t  uplo,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
double  beta,
magmaDouble_ptr  dy,
magma_int_t  incy,
magma_queue_t  queue 
)

Perform symmetric matrix-vector product, \( y = \alpha A x + \beta y \).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]nNumber of rows and columns of A. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[in]dxDOUBLE PRECISION array on GPU device. The m element vector x of dimension (1 + (m-1)*incx).
[in]incxStride between consecutive elements of dx. incx != 0.
[in]betaScalar \( \beta \)
[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.
void magma_dsyr ( magma_uplo_t  uplo,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
magmaDouble_ptr  dA,
magma_int_t  ldda 
)

Perform symmetric rank-1 update, \( A = \alpha x x^H + A \).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]nNumber of rows and columns of A. 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]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
void magma_dsyr2 ( magma_uplo_t  uplo,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
magmaDouble_const_ptr  dy,
magma_int_t  incy,
magmaDouble_ptr  dA,
magma_int_t  ldda 
)

Perform symmetric rank-2 update, \( A = \alpha x y^H + conj(\alpha) y x^H + A \).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]nNumber of rows and columns of A. 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]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,out]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
void magma_dsyr2_q ( magma_uplo_t  uplo,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
magmaDouble_const_ptr  dy,
magma_int_t  incy,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magma_queue_t  queue 
)

Perform symmetric rank-2 update, \( A = \alpha x y^H + conj(\alpha) y x^H + A \).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]nNumber of rows and columns of A. 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]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,out]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[in]queuemagma_queue_t Queue to execute in.
void magma_dsyr_q ( magma_uplo_t  uplo,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magma_queue_t  queue 
)

Perform symmetric rank-1 update, \( A = \alpha x x^H + A \).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]nNumber of rows and columns of A. 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]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[in]queuemagma_queue_t Queue to execute in.
void magma_dtrmv ( magma_uplo_t  uplo,
magma_trans_t  trans,
magma_diag_t  diag,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dx,
magma_int_t  incx 
)

Perform triangular matrix-vector product.

\( x = A x \) (trans == MagmaNoTrans), or
\( x = A^T x \) (trans == MagmaTrans), or
\( x = A^H x \) (trans == MagmaConjTrans).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]transOperation to perform on A.
[in]diagWhether the diagonal of A is assumed to be unit or non-unit.
[in]nNumber of rows and columns of A. n >= 0.
[in]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[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_dtrmv_q ( magma_uplo_t  uplo,
magma_trans_t  trans,
magma_diag_t  diag,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dx,
magma_int_t  incx,
magma_queue_t  queue 
)

Perform triangular matrix-vector product.

\( x = A x \) (trans == MagmaNoTrans), or
\( x = A^T x \) (trans == MagmaTrans), or
\( x = A^H x \) (trans == MagmaConjTrans).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]transOperation to perform on A.
[in]diagWhether the diagonal of A is assumed to be unit or non-unit.
[in]nNumber of rows and columns of A. n >= 0.
[in]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[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]queuemagma_queue_t Queue to execute in.
void magma_dtrsv ( magma_uplo_t  uplo,
magma_trans_t  trans,
magma_diag_t  diag,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dx,
magma_int_t  incx 
)

Solve triangular matrix-vector system (one right-hand side).

\( A x = b \) (trans == MagmaNoTrans), or
\( A^T x = b \) (trans == MagmaTrans), or
\( A^H x = b \) (trans == MagmaConjTrans).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]transOperation to perform on A.
[in]diagWhether the diagonal of A is assumed to be unit or non-unit.
[in]nNumber of rows and columns of A. n >= 0.
[in]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[in,out]dxDOUBLE PRECISION array on GPU device. On entry, the n element RHS vector b of dimension (1 + (n-1)*incx). On exit, overwritten with the solution vector x.
[in]incxStride between consecutive elements of dx. incx != 0.
void magma_dtrsv_q ( magma_uplo_t  uplo,
magma_trans_t  trans,
magma_diag_t  diag,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dx,
magma_int_t  incx,
magma_queue_t  queue 
)

Solve triangular matrix-vector system (one right-hand side).

\( A x = b \) (trans == MagmaNoTrans), or
\( A^T x = b \) (trans == MagmaTrans), or
\( A^H x = b \) (trans == MagmaConjTrans).

Parameters
[in]uploWhether the upper or lower triangle of A is referenced.
[in]transOperation to perform on A.
[in]diagWhether the diagonal of A is assumed to be unit or non-unit.
[in]nNumber of rows and columns of A. n >= 0.
[in]dADOUBLE PRECISION array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device.
[in]lddaLeading dimension of dA.
[in,out]dxDOUBLE PRECISION array on GPU device. On entry, the n element RHS vector b of dimension (1 + (n-1)*incx). On exit, overwritten with the solution vector x.
[in]incxStride between consecutive elements of dx. incx != 0.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_dgemv ( magma_trans_t  trans,
magma_int_t  m,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
double  beta,
magmaDouble_ptr  dy,
magma_int_t  incy 
)
See also
magmablas_dgemv_q
void magmablas_dgemv_conj ( magma_int_t  m,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
double  beta,
magmaDouble_ptr  dy,
magma_int_t  incy 
)
See also
magmablas_dgemv_conj_q
void magmablas_dswapblk ( magma_order_t  order,
magma_int_t  n,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dB,
magma_int_t  lddb,
magma_int_t  i1,
magma_int_t  i2,
const magma_int_t *  ipiv,
magma_int_t  inci,
magma_int_t  offset 
)
See also
magmablas_dswapblk_q
magma_int_t magmablas_dsymv ( magma_uplo_t  uplo,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_const_ptr  dx,
magma_int_t  incx,
double  beta,
magmaDouble_ptr  dy,
magma_int_t  incy 
)
See also
magmablas_dsymv_q