MAGMA  2.0.2
Matrix Algebra for GPU and Multicore Architectures

Functions

void magma_dprint (magma_int_t m, magma_int_t n, const double *A, magma_int_t lda)
 magma_dprint prints a matrix that is located on the CPU host. More...
 
void magma_dprint_gpu (magma_int_t m, magma_int_t n, const double *dA, magma_int_t ldda)
 magma_dprint_gpu prints a matrix that is located on the GPU device. More...
 
magma_int_t magma_dnan_inf (magma_uplo_t uplo, magma_int_t m, magma_int_t n, const double *A, magma_int_t lda, magma_int_t *cnt_nan, magma_int_t *cnt_inf)
 magma_dnan_inf checks a matrix that is located on the CPU host for NAN (not-a-number) and INF (infinity) values. More...
 
magma_int_t magma_dnan_inf_gpu (magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magma_int_t *cnt_nan, magma_int_t *cnt_inf)
 magma_dnan_inf checks a matrix that is located on the CPU host for NAN (not-a-number) and INF (infinity) values. More...
 
void magmablas_dgeadd (magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dB, magma_int_t lddb)
 
void magmablas_dgeadd2 (magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, double beta, magmaDouble_ptr dB, magma_int_t lddb)
 
void magmablas_dprbt (magma_int_t n, double *dA, magma_int_t ldda, double *du, double *dv)
 
void magmablas_dprbt_mv (magma_int_t n, double *dv, double *db)
 
void magmablas_dprbt_mtv (magma_int_t n, double *du, double *db)
 
void magmablas_dlacpy (magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dB, magma_int_t lddb)
 
void magmablas_dlacpy_conj (magma_int_t n, magmaDouble_ptr dA1, magma_int_t lda1, magmaDouble_ptr dA2, magma_int_t lda2)
 
void magmablas_dlacpy_sym_in (magma_uplo_t uplo, magma_int_t m, magma_int_t n, magma_int_t *rows, magma_int_t *perm, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dB, magma_int_t lddb)
 
void magmablas_dlacpy_sym_out (magma_uplo_t uplo, magma_int_t m, magma_int_t n, magma_int_t *rows, magma_int_t *perm, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dB, magma_int_t lddb)
 
double magmablas_dlange (magma_norm_t norm, magma_int_t m, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dwork, magma_int_t lwork)
 
double magmablas_dlansy (magma_norm_t norm, magma_uplo_t uplo, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dwork, magma_int_t lwork)
 
void magmablas_dlascl (magma_type_t type, magma_int_t kl, magma_int_t ku, double cfrom, double cto, magma_int_t m, magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *info)
 
void magmablas_dlascl2 (magma_type_t type, magma_int_t m, magma_int_t n, magmaDouble_const_ptr dD, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *info)
 
void magmablas_dlascl_2x2 (magma_type_t type, magma_int_t m, magmaDouble_const_ptr dW, magma_int_t lddw, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *info)
 
void magmablas_dlascl_diag (magma_type_t type, magma_int_t m, magma_int_t n, magmaDouble_const_ptr dD, magma_int_t lddd, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *info)
 
void magmablas_dlaset (magma_uplo_t uplo, magma_int_t m, magma_int_t n, double offdiag, double diag, magmaDouble_ptr dA, magma_int_t ldda)
 
void magmablas_dlaset_band (magma_uplo_t uplo, magma_int_t m, magma_int_t n, magma_int_t k, double offdiag, double diag, magmaDouble_ptr dA, magma_int_t ldda)
 
void magmablas_dlaswp (magma_int_t n, magmaDouble_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci)
 
void magmablas_dlaswpx (magma_int_t n, magmaDouble_ptr dA, magma_int_t ldx, magma_int_t ldy, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci)
 
void magmablas_dlaswp2 (magma_int_t n, magmaDouble_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, magmaInt_const_ptr d_ipiv, magma_int_t inci)
 
void magmablas_dlaswp_sym (magma_int_t n, double *dA, magma_int_t lda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci)
 
void magmablas_dnrm2_check (magma_int_t m, magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda, magmaDouble_ptr dxnorm, magmaDouble_ptr dlsticc)
 
void magmablas_dnrm2_adjust (magma_int_t k, magmaDouble_ptr dxnorm, magmaDouble_ptr dc)
 
void magmablas_dnrm2_row_check_adjust (magma_int_t k, double tol, magmaDouble_ptr dxnorm, magmaDouble_ptr dxnorm2, magmaDouble_ptr dC, magma_int_t lddc, magmaDouble_ptr dlsticc)
 
void magmablas_dnrm2_cols (magma_int_t m, magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda, magmaDouble_ptr dxnorm)
 
void magmablas_dswapdblk (magma_int_t n, magma_int_t nb, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t inca, magmaDouble_ptr dB, magma_int_t lddb, magma_int_t incb)
 
void magmablas_dsymmetrize (magma_uplo_t uplo, magma_int_t m, magmaDouble_ptr dA, magma_int_t ldda)
 
void magmablas_dsymmetrize_tiles (magma_uplo_t uplo, magma_int_t m, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t ntile, magma_int_t mstride, magma_int_t nstride)
 
void magmablas_dtranspose (magma_int_t m, magma_int_t n, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_ptr dAT, magma_int_t lddat)
 
void magmablas_dtranspose_inplace (magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda)
 
void magmablas_slat2d (magma_uplo_t uplo, magma_int_t n, magmaFloat_const_ptr SA, magma_int_t ldsa, magmaDouble_ptr A, magma_int_t lda, magma_int_t *info)
 
void magmablas_dlag2s (magma_int_t m, magma_int_t n, magmaDouble_const_ptr A, magma_int_t lda, magmaFloat_ptr SA, magma_int_t ldsa, magma_int_t *info)
 
void magmablas_dlat2s (magma_uplo_t uplo, magma_int_t n, magmaDouble_const_ptr A, magma_int_t lda, magmaFloat_ptr SA, magma_int_t ldsa, magma_int_t *info)
 
void magmablas_dslaswp (magma_int_t n, magmaDouble_ptr A, magma_int_t lda, magmaFloat_ptr SA, magma_int_t m, const magma_int_t *ipiv, magma_int_t incx)
 Note magmablas_dslaswp_q also adds ldsa. More...
 

Detailed Description

Function Documentation

magma_int_t magma_dnan_inf ( magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
const double *  A,
magma_int_t  lda,
magma_int_t *  cnt_nan,
magma_int_t *  cnt_inf 
)

magma_dnan_inf checks a matrix that is located on the CPU host for NAN (not-a-number) and INF (infinity) values.

NAN is created by 0/0 and similar. INF is created by x/0 and similar, where x != 0.

Parameters
[in]uplomagma_uplo_t Specifies what part of the matrix A to check.
  • = MagmaUpper: Upper triangular part of A
  • = MagmaLower: Lower triangular part of A
  • = MagmaFull: All of A
[in]mINTEGER The number of rows of the matrix A. M >= 0.
[in]nINTEGER The number of columns of the matrix A. N >= 0.
[in]ADOUBLE PRECISION array, dimension (LDA,N), on the CPU host. The M-by-N matrix to be printed.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,M).
[out]cnt_nanINTEGER* If non-NULL, on exit contains the number of NAN values in A.
[out]cnt_infINTEGER* If non-NULL, on exit contains the number of INF values in A.
Returns
  • >= 0: Returns number of NAN + number of INF values.
  • < 0: If it returns -i, the i-th argument had an illegal value, or another error occured, such as memory allocation failed.
magma_int_t magma_dnan_inf_gpu ( magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magma_int_t *  cnt_nan,
magma_int_t *  cnt_inf 
)

magma_dnan_inf checks a matrix that is located on the CPU host for NAN (not-a-number) and INF (infinity) values.

NAN is created by 0/0 and similar. INF is created by x/0 and similar, where x != 0.

Parameters
[in]uplomagma_uplo_t Specifies what part of the matrix A to check.
  • = MagmaUpper: Upper triangular part of A
  • = MagmaLower: Lower triangular part of A
  • = MagmaFull: All of A
[in]mINTEGER The number of rows of the matrix A. M >= 0.
[in]nINTEGER The number of columns of the matrix A. N >= 0.
[in]dADOUBLE PRECISION array, dimension (LDDA,N), on the GPU device. The M-by-N matrix to be printed.
[in]lddaINTEGER The leading dimension of the array A. LDDA >= max(1,M).
[out]cnt_nanINTEGER* If non-NULL, on exit contains the number of NAN values in A.
[out]cnt_infINTEGER* If non-NULL, on exit contains the number of INF values in A.
Returns
  • >= 0: Returns number of NAN + number of INF values.
  • < 0: If it returns -i, the i-th argument had an illegal value, or another error occured, such as memory allocation failed.
void magma_dprint ( magma_int_t  m,
magma_int_t  n,
const double *  A,
magma_int_t  lda 
)

magma_dprint prints a matrix that is located on the CPU host.

The output is intended to be Matlab compatible, to be useful in debugging.

Parameters
[in]mINTEGER The number of rows of the matrix A. M >= 0.
[in]nINTEGER The number of columns of the matrix A. N >= 0.
[in]ADOUBLE PRECISION array, dimension (LDA,N), on the CPU host. The M-by-N matrix to be printed.
[in]ldaINTEGER The leading dimension of the array A. LDA >= max(1,M).
void magma_dprint_gpu ( magma_int_t  m,
magma_int_t  n,
const double *  dA,
magma_int_t  ldda 
)

magma_dprint_gpu prints a matrix that is located on the GPU device.

Internally, it allocates CPU memory and copies the matrix to the CPU. The output is intended to be Matlab compatible, to be useful in debugging.

Parameters
[in]mINTEGER The number of rows of the matrix A. M >= 0.
[in]nINTEGER The number of columns of the matrix A. N >= 0.
[in]dADOUBLE PRECISION array, dimension (LDDA,N), on the GPU device. The M-by-N matrix to be printed.
[in]lddaINTEGER The leading dimension of the array A. LDDA >= max(1,M).
void magmablas_dgeadd ( magma_int_t  m,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dB,
magma_int_t  lddb 
)
See also
magmablas_dgeadd_q
void magmablas_dgeadd2 ( magma_int_t  m,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
double  beta,
magmaDouble_ptr  dB,
magma_int_t  lddb 
)
See also
magmablas_dgeadd2_q
void magmablas_dlacpy ( magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dB,
magma_int_t  lddb 
)
See also
magmablas_dlacpy_q
void magmablas_dlacpy_conj ( magma_int_t  n,
magmaDouble_ptr  dA1,
magma_int_t  lda1,
magmaDouble_ptr  dA2,
magma_int_t  lda2 
)
See also
magmablas_dlacpy_conj_q
void magmablas_dlacpy_sym_in ( magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
magma_int_t *  rows,
magma_int_t *  perm,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dB,
magma_int_t  lddb 
)
See also
magmablas_dlacpy_q
void magmablas_dlacpy_sym_out ( magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
magma_int_t *  rows,
magma_int_t *  perm,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dB,
magma_int_t  lddb 
)
See also
magmablas_dlacpy_q
void magmablas_dlag2s ( magma_int_t  m,
magma_int_t  n,
magmaDouble_const_ptr  A,
magma_int_t  lda,
magmaFloat_ptr  SA,
magma_int_t  ldsa,
magma_int_t *  info 
)
See also
magmablas_dlag2s_q
double magmablas_dlange ( magma_norm_t  norm,
magma_int_t  m,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dwork,
magma_int_t  lwork 
)
See also
magmablas_dlange_q
double magmablas_dlansy ( magma_norm_t  norm,
magma_uplo_t  uplo,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dwork,
magma_int_t  lwork 
)
See also
magmablas_dlansy_q
void magmablas_dlascl ( magma_type_t  type,
magma_int_t  kl,
magma_int_t  ku,
double  cfrom,
double  cto,
magma_int_t  m,
magma_int_t  n,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magma_int_t *  info 
)
See also
magmablas_dlascl_q
void magmablas_dlascl2 ( magma_type_t  type,
magma_int_t  m,
magma_int_t  n,
magmaDouble_const_ptr  dD,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magma_int_t *  info 
)
See also
magmablas_dlascl2_q
void magmablas_dlascl_2x2 ( magma_type_t  type,
magma_int_t  m,
magmaDouble_const_ptr  dW,
magma_int_t  lddw,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magma_int_t *  info 
)
See also
magmablas_dlascl2_q
void magmablas_dlascl_diag ( magma_type_t  type,
magma_int_t  m,
magma_int_t  n,
magmaDouble_const_ptr  dD,
magma_int_t  lddd,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magma_int_t *  info 
)
See also
magmablas_dlascl_diag_q
void magmablas_dlaset ( magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
double  offdiag,
double  diag,
magmaDouble_ptr  dA,
magma_int_t  ldda 
)
See also
magmablas_dlaset_q
void magmablas_dlaset_band ( magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
magma_int_t  k,
double  offdiag,
double  diag,
magmaDouble_ptr  dA,
magma_int_t  ldda 
)
See also
magmablas_dlaset_band_q
void magmablas_dlaswp ( magma_int_t  n,
magmaDouble_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci 
)
See also
magmablas_dlaswp_q
void magmablas_dlaswp2 ( magma_int_t  n,
magmaDouble_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
magmaInt_const_ptr  d_ipiv,
magma_int_t  inci 
)
See also
magmablas_dlaswp2_q
void magmablas_dlaswp_sym ( magma_int_t  n,
double *  dA,
magma_int_t  lda,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci 
)
See also
magmablas_dlaswpx_q
void magmablas_dlaswpx ( magma_int_t  n,
magmaDouble_ptr  dA,
magma_int_t  ldx,
magma_int_t  ldy,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci 
)
See also
magmablas_dlaswpx_q
void magmablas_dlat2s ( magma_uplo_t  uplo,
magma_int_t  n,
magmaDouble_const_ptr  A,
magma_int_t  lda,
magmaFloat_ptr  SA,
magma_int_t  ldsa,
magma_int_t *  info 
)
See also
magmablas_dlat2s_q
void magmablas_dnrm2_adjust ( magma_int_t  k,
magmaDouble_ptr  dxnorm,
magmaDouble_ptr  dc 
)
See also
magmablas_dnrm2_adjust_q
void magmablas_dnrm2_check ( magma_int_t  m,
magma_int_t  n,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dxnorm,
magmaDouble_ptr  dlsticc 
)
See also
magmablas_dnrm2_check_q
void magmablas_dnrm2_cols ( magma_int_t  m,
magma_int_t  n,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dxnorm 
)
See also
magmablas_dnrm2_cols_q
void magmablas_dnrm2_row_check_adjust ( magma_int_t  k,
double  tol,
magmaDouble_ptr  dxnorm,
magmaDouble_ptr  dxnorm2,
magmaDouble_ptr  dC,
magma_int_t  lddc,
magmaDouble_ptr  dlsticc 
)
See also
magmablas_dnrm2_row_check_adjust_q
void magmablas_dprbt ( magma_int_t  n,
double *  dA,
magma_int_t  ldda,
double *  du,
double *  dv 
)
See also
magmablas_dprbt_q
void magmablas_dprbt_mtv ( magma_int_t  n,
double *  du,
double *  db 
)
See also
magmablas_dprbt_mtv_q
void magmablas_dprbt_mv ( magma_int_t  n,
double *  dv,
double *  db 
)
See also
magmablas_dprbt_mtv_q
void magmablas_dslaswp ( magma_int_t  n,
magmaDouble_ptr  A,
magma_int_t  lda,
magmaFloat_ptr  SA,
magma_int_t  m,
const magma_int_t *  ipiv,
magma_int_t  incx 
)

Note magmablas_dslaswp_q also adds ldsa.

This assumes ldsa = lda.

See also
magmablas_dslaswp_q
void magmablas_dswapdblk ( magma_int_t  n,
magma_int_t  nb,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magma_int_t  inca,
magmaDouble_ptr  dB,
magma_int_t  lddb,
magma_int_t  incb 
)
See also
magmablas_dswapdblk_q
void magmablas_dsymmetrize ( magma_uplo_t  uplo,
magma_int_t  m,
magmaDouble_ptr  dA,
magma_int_t  ldda 
)
See also
magmablas_dsymmetrize_q
void magmablas_dsymmetrize_tiles ( magma_uplo_t  uplo,
magma_int_t  m,
magmaDouble_ptr  dA,
magma_int_t  ldda,
magma_int_t  ntile,
magma_int_t  mstride,
magma_int_t  nstride 
)
See also
magmablas_dsymmetrize_tiles_q
void magmablas_dtranspose ( magma_int_t  m,
magma_int_t  n,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_ptr  dAT,
magma_int_t  lddat 
)
See also
magmablas_dtranspose_q
void magmablas_dtranspose_inplace ( magma_int_t  n,
magmaDouble_ptr  dA,
magma_int_t  ldda 
)
See also
magmablas_dtranspose_inplace_q
void magmablas_slat2d ( magma_uplo_t  uplo,
magma_int_t  n,
magmaFloat_const_ptr  SA,
magma_int_t  ldsa,
magmaDouble_ptr  A,
magma_int_t  lda,
magma_int_t *  info 
)
See also
magmablas_slat2d_q