double-complex precision

Functions

magma_int_t magma_zpotrf (magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *info)
 ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix A.
magma_int_t magma_zpotrf_gpu (magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *info)
 ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.
magma_int_t magma_zpotrf2_mgpu (int num_gpus, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magma_int_t off_i, magma_int_t off_j, magma_int_t nb, magmaDoubleComplex **d_lA, magma_int_t ldda, magmaDoubleComplex **d_lP, magma_int_t lddp, magmaDoubleComplex *A, magma_int_t lda, magma_int_t h, magma_queue_t stream[][3], magma_event_t event[][5], magma_int_t *info)
 ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.
magma_int_t magma_zpotrf3_mgpu (magma_int_t num_gpus, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magma_int_t off_i, magma_int_t off_j, magma_int_t nb, magmaDoubleComplex *d_lA[], magma_int_t ldda, magmaDoubleComplex *d_lP[], magma_int_t lddp, magmaDoubleComplex *A, magma_int_t lda, magma_int_t h, magma_queue_t stream[][3], magma_event_t event[][5], magma_int_t *info)
 ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.
magma_int_t magma_zpotrf_m (magma_int_t num_gpus, magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *info)
 ZPOTRF_OOC computes the Cholesky factorization of a complex Hermitian positive definite matrix A.
magma_int_t magma_zpotrf_mgpu (magma_int_t num_gpus, magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex **d_lA, magma_int_t ldda, magma_int_t *info)
 ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.
magma_int_t magma_zpotrf_mgpu_right (magma_int_t num_gpus, magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex **d_lA, magma_int_t ldda, magma_int_t *info)
 ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.
magma_int_t magma_zpotri (magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *info)
 ZPOTRI computes the inverse of a real symmetric positive definite matrix A using the Cholesky factorization A = U**T*U or A = L*L**T computed by ZPOTRF.
magma_int_t magma_zpotri_gpu (magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *info)
 ZPOTRI computes the inverse of a real symmetric positive definite matrix A using the Cholesky factorization A = U**T*U or A = L*L**T computed by ZPOTRF.
magma_int_t magma_zpotrs_gpu (magma_uplo_t uplo, magma_int_t n, magma_int_t nrhs, magmaDoubleComplex *dA, magma_int_t ldda, magmaDoubleComplex *dB, magma_int_t lddb, magma_int_t *info)
 ZPOTRS solves a system of linear equations A*X = B with a Hermitian positive definite matrix A using the Cholesky factorization A = U**H*U or A = L*L**H computed by ZPOTRF.

Function Documentation

magma_int_t magma_zpotrf ( magma_uplo_t  uplo,
magma_int_t  n,
magmaDoubleComplex *  A,
magma_int_t  lda,
magma_int_t *  info 
)

ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix A.

This version does not require work space on the GPU passed as input. GPU memory is allocated in the routine.

The factorization has the form A = U**H * U, if uplo = MagmaUpper, or A = L * L**H, if uplo = MagmaLower, where U is an upper triangular matrix and L is lower triangular.

This is the block version of the algorithm, calling Level 3 BLAS.

If the current stream is NULL, this version replaces it with a new stream to overlap computation with communication.

Parameters:
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of A is stored;
  • = MagmaLower: Lower triangle of A is stored.
[in] n INTEGER The order of the matrix A. N >= 0.
[in,out] A COMPLEX_16 array, dimension (LDA,N) On entry, the Hermitian matrix A. If uplo = MagmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If uplo = MagmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
On exit, if INFO = 0, the factor U or L from the Cholesky factorization A = U**H * U or A = L * L**H.
Higher performance is achieved if A is in pinned memory, e.g. allocated using magma_malloc_pinned.
[in] lda INTEGER The leading dimension of the array A. LDA >= max(1,N).
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.
  • > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.
magma_int_t magma_zpotrf2_mgpu ( int  num_gpus,
magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
magma_int_t  off_i,
magma_int_t  off_j,
magma_int_t  nb,
magmaDoubleComplex **  d_lA,
magma_int_t  ldda,
magmaDoubleComplex **  d_lP,
magma_int_t  lddp,
magmaDoubleComplex *  A,
magma_int_t  lda,
magma_int_t  h,
magma_queue_t  stream[][3],
magma_event_t  event[][5],
magma_int_t *  info 
)

ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.

The factorization has the form dA = U**H * U, if UPLO = MagmaUpper, or dA = L * L**H, if UPLO = MagmaLower, where U is an upper triangular matrix and L is lower triangular.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters:
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of dA is stored;
  • = MagmaLower: Lower triangle of dA is stored.
[in] n INTEGER The order of the matrix dA. N >= 0.
[in,out] dA COMPLEX_16 array on the GPU, dimension (LDDA,N) On entry, the Hermitian matrix dA. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of dA contains the upper triangular part of the matrix dA, and the strictly lower triangular part of dA is not referenced. If UPLO = MagmaLower, the leading N-by-N lower triangular part of dA contains the lower triangular part of the matrix dA, and the strictly upper triangular part of dA is not referenced.
On exit, if INFO = 0, the factor U or L from the Cholesky factorization dA = U**H * U or dA = L * L**H.
[in] ldda INTEGER The leading dimension of the array dA. LDDA >= max(1,N). To benefit from coalescent memory accesses LDDA must be divisible by 16.
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.
magma_int_t magma_zpotrf3_mgpu ( magma_int_t  num_gpus,
magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
magma_int_t  off_i,
magma_int_t  off_j,
magma_int_t  nb,
magmaDoubleComplex *  d_lA[],
magma_int_t  ldda,
magmaDoubleComplex *  d_lP[],
magma_int_t  lddp,
magmaDoubleComplex *  A,
magma_int_t  lda,
magma_int_t  h,
magma_queue_t  stream[][3],
magma_event_t  event[][5],
magma_int_t *  info 
)

ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.

Auxiliary subroutine for zpotrf2_ooc. It is multiple gpu interface to compute Cholesky of a "rectangular" matrix.

The factorization has the form dA = U**H * U, if UPLO = MagmaUpper, or dA = L * L**H, if UPLO = MagmaLower, where U is an upper triangular matrix and L is lower triangular.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters:
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of dA is stored;
  • = MagmaLower: Lower triangle of dA is stored.
[in] n INTEGER The order of the matrix dA. N >= 0.
[in,out] dA COMPLEX_16 array on the GPU, dimension (LDDA,N) On entry, the Hermitian matrix dA. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of dA contains the upper triangular part of the matrix dA, and the strictly lower triangular part of dA is not referenced. If UPLO = MagmaLower, the leading N-by-N lower triangular part of dA contains the lower triangular part of the matrix dA, and the strictly upper triangular part of dA is not referenced.
On exit, if INFO = 0, the factor U or L from the Cholesky factorization dA = U**H * U or dA = L * L**H.
[in] ldda INTEGER The leading dimension of the array dA. LDDA >= max(1,N). To benefit from coalescent memory accesses LDDA must be divisible by 16.
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.
magma_int_t magma_zpotrf_gpu ( magma_uplo_t  uplo,
magma_int_t  n,
magmaDoubleComplex *  dA,
magma_int_t  ldda,
magma_int_t *  info 
)

ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.

The factorization has the form dA = U**H * U, if UPLO = MagmaUpper, or dA = L * L**H, if UPLO = MagmaLower, where U is an upper triangular matrix and L is lower triangular.

This is the block version of the algorithm, calling Level 3 BLAS. This version assumes the computation runs through the NULL stream and therefore is not overlapping some computation with communication.

Parameters:
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of dA is stored;
  • = MagmaLower: Lower triangle of dA is stored.
[in] n INTEGER The order of the matrix dA. N >= 0.
[in,out] dA COMPLEX_16 array on the GPU, dimension (LDDA,N) On entry, the Hermitian matrix dA. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of dA contains the upper triangular part of the matrix dA, and the strictly lower triangular part of dA is not referenced. If UPLO = MagmaLower, the leading N-by-N lower triangular part of dA contains the lower triangular part of the matrix dA, and the strictly upper triangular part of dA is not referenced.
On exit, if INFO = 0, the factor U or L from the Cholesky factorization dA = U**H * U or dA = L * L**H.
[in] ldda INTEGER The leading dimension of the array dA. LDDA >= max(1,N). To benefit from coalescent memory accesses LDDA must be divisible by 16.
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.

The factorization has the form dA = U**H * U, if UPLO = MagmaUpper, or dA = L * L**H, if UPLO = MagmaLower, where U is an upper triangular matrix and L is lower triangular.

This is the block version of the algorithm, calling Level 3 BLAS. If the current stream is NULL, this version replaces it with a new stream to overlap computation with communication.

Parameters:
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of dA is stored;
  • = MagmaLower: Lower triangle of dA is stored.
[in] n INTEGER The order of the matrix dA. N >= 0.
[in,out] dA COMPLEX_16 array on the GPU, dimension (LDDA,N) On entry, the Hermitian matrix dA. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of dA contains the upper triangular part of the matrix dA, and the strictly lower triangular part of dA is not referenced. If UPLO = MagmaLower, the leading N-by-N lower triangular part of dA contains the lower triangular part of the matrix dA, and the strictly upper triangular part of dA is not referenced.
On exit, if INFO = 0, the factor U or L from the Cholesky factorization dA = U**H * U or dA = L * L**H.
[in] ldda INTEGER The leading dimension of the array dA. LDDA >= max(1,N). To benefit from coalescent memory accesses LDDA must be divisible by 16.
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.
magma_int_t magma_zpotrf_m ( magma_int_t  num_gpus,
magma_uplo_t  uplo,
magma_int_t  n,
magmaDoubleComplex *  A,
magma_int_t  lda,
magma_int_t *  info 
)

ZPOTRF_OOC computes the Cholesky factorization of a complex Hermitian positive definite matrix A.

This version does not require work space on the GPU passed as input. GPU memory is allocated in the routine. The matrix A may exceed the GPU memory.

The factorization has the form A = U**H * U, if UPLO = MagmaUpper, or A = L * L**H, if UPLO = MagmaLower, where U is an upper triangular matrix and L is lower triangular.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters:
[in] num_gpus INTEGER The number of GPUs. num_gpus > 0.
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of A is stored;
  • = MagmaLower: Lower triangle of A is stored.
[in] n INTEGER The order of the matrix A. N >= 0.
[in,out] A COMPLEX_16 array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = MagmaLower, the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
On exit, if INFO = 0, the factor U or L from the Cholesky factorization A = U**H * U or A = L * L**H.
Higher performance is achieved if A is in pinned memory, e.g. allocated using magma_malloc_pinned.
[in] lda INTEGER The leading dimension of the array A. LDA >= max(1,N).
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value or another error occured, such as memory allocation failed.
  • > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.
magma_int_t magma_zpotrf_mgpu ( magma_int_t  num_gpus,
magma_uplo_t  uplo,
magma_int_t  n,
magmaDoubleComplex **  d_lA,
magma_int_t  ldda,
magma_int_t *  info 
)

ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.

The factorization has the form dA = U**H * U, if UPLO = MagmaUpper, or dA = L * L**H, if UPLO = MagmaLower, where U is an upper triangular matrix and L is lower triangular.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters:
[in] num_gpus INTEGER The number of GPUs to be used for the factorization.
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of dA is stored;
  • = MagmaLower: Lower triangle of dA is stored.
[in] n INTEGER The order of the matrix dA. N >= 0.
[in,out] d_lA COMPLEX_16 array of pointers on the GPU, dimension (num_gpus) On entry, the Hermitian matrix dA distributed over GPUs (d_lA[d] points to the local matrix on the d-th GPU). It is distributed in 1D block column or row cyclic (with the block size of nb) if UPLO = MagmaUpper or MagmaLower, respectively. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of dA contains the upper triangular part of the matrix dA, and the strictly lower triangular part of dA is not referenced. If UPLO = MagmaLower, the leading N-by-N lower triangular part of dA contains the lower triangular part of the matrix dA, and the strictly upper triangular part of dA is not referenced.
On exit, if INFO = 0, the factor U or L from the Cholesky factorization dA = U**H * U or dA = L * L**H.
[in] ldda INTEGER The leading dimension of the array d_lA. LDDA >= max(1,N). To benefit from coalescent memory accesses LDDA must be divisible by 16.
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.
magma_int_t magma_zpotrf_mgpu_right ( magma_int_t  num_gpus,
magma_uplo_t  uplo,
magma_int_t  n,
magmaDoubleComplex **  d_lA,
magma_int_t  ldda,
magma_int_t *  info 
)

ZPOTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix dA.

The factorization has the form dA = U**H * U, if UPLO = MagmaUpper, or dA = L * L**H, if UPLO = MagmaLower, where U is an upper triangular matrix and L is lower triangular.

This is the block version of the algorithm, calling Level 3 BLAS.

Parameters:
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of dA is stored;
  • = MagmaLower: Lower triangle of dA is stored.
[in] n INTEGER The order of the matrix dA. N >= 0.
[in,out] d_lA COMPLEX_16 array of pointers on the GPU, dimension (num_gpus) On entry, the Hermitian matrix dA distributed over GPUs (dl_A[d] points to the local matrix on the d-th GPU). It is distributed in 1D block column or row cyclic (with the block size of nb) if UPLO = MagmaUpper or MagmaLower, respectively. If UPLO = MagmaUpper, the leading N-by-N upper triangular part of dA contains the upper triangular part of the matrix dA, and the strictly lower triangular part of dA is not referenced. If UPLO = MagmaLower, the leading N-by-N lower triangular part of dA contains the lower triangular part of the matrix dA, and the strictly upper triangular part of dA is not referenced.
On exit, if INFO = 0, the factor U or L from the Cholesky factorization dA = U**H * U or dA = L * L**H.
[in] ldda INTEGER The leading dimension of the array dA. LDDA >= max(1,N). To benefit from coalescent memory accesses LDDA must be divisible by 16.
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.
magma_int_t magma_zpotri ( magma_uplo_t  uplo,
magma_int_t  n,
magmaDoubleComplex *  A,
magma_int_t  lda,
magma_int_t *  info 
)

ZPOTRI computes the inverse of a real symmetric positive definite matrix A using the Cholesky factorization A = U**T*U or A = L*L**T computed by ZPOTRF.

Parameters:
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of A is stored;
  • = MagmaLower: Lower triangle of A is stored.
[in] n INTEGER The order of the matrix A. N >= 0.
[in,out] A COMPLEX_16 array, dimension (LDA,N) On entry, the triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, as computed by ZPOTRF. On exit, the upper or lower triangle of the (symmetric) inverse of A, overwriting the input factor U or L.
[in] lda INTEGER The leading dimension of the array A. LDA >= max(1,N).
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the (i,i) element of the factor U or L is zero, and the inverse could not be computed.
magma_int_t magma_zpotri_gpu ( magma_uplo_t  uplo,
magma_int_t  n,
magmaDoubleComplex *  dA,
magma_int_t  ldda,
magma_int_t *  info 
)

ZPOTRI computes the inverse of a real symmetric positive definite matrix A using the Cholesky factorization A = U**T*U or A = L*L**T computed by ZPOTRF.

Parameters:
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of A is stored;
  • = MagmaLower: Lower triangle of A is stored.
[in] n INTEGER The order of the matrix A. N >= 0.
[in,out] dA COMPLEX_16 array on the GPU, dimension (LDA,N) On entry, the triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, as computed by ZPOTRF. On exit, the upper or lower triangle of the (symmetric) inverse of A, overwriting the input factor U or L.
[in] ldda INTEGER The leading dimension of the array dA. LDDA >= max(1,N).
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the (i,i) element of the factor U or L is zero, and the inverse could not be computed.
magma_int_t magma_zpotrs_gpu ( magma_uplo_t  uplo,
magma_int_t  n,
magma_int_t  nrhs,
magmaDoubleComplex *  dA,
magma_int_t  ldda,
magmaDoubleComplex *  dB,
magma_int_t  lddb,
magma_int_t *  info 
)

ZPOTRS solves a system of linear equations A*X = B with a Hermitian positive definite matrix A using the Cholesky factorization A = U**H*U or A = L*L**H computed by ZPOTRF.

Parameters:
[in] uplo magma_uplo_t

  • = MagmaUpper: Upper triangle of A is stored;
  • = MagmaLower: Lower triangle of A is stored.
[in] n INTEGER The order of the matrix A. N >= 0.
[in] nrhs INTEGER The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
[in] dA COMPLEX_16 array on the GPU, dimension (LDDA,N) The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H, as computed by ZPOTRF.
[in] ldda INTEGER The leading dimension of the array A. LDDA >= max(1,N).
[in,out] dB COMPLEX_16 array on the GPU, dimension (LDDB,NRHS) On entry, the right hand side matrix B. On exit, the solution matrix X.
[in] lddb INTEGER The leading dimension of the array B. LDDB >= max(1,N).
[out] info INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value

Generated on 17 Sep 2014 for MAGMA by  doxygen 1.6.1