MAGMA
2.3.0
Matrix Algebra for GPU and Multicore Architectures

Functions  
magma_int_t  magma_chetrf_nopiv (magma_uplo_t uplo, magma_int_t n, magmaFloatComplex *A, magma_int_t lda, magma_int_t *info) 
CHETRF_nopiv computes the LDLt factorization of a complex Hermitian matrix A. More...  
magma_int_t  magma_chetrf_nopiv_gpu (magma_uplo_t uplo, magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldda, magma_int_t *info) 
CHETRF_nopiv_gpu computes the LDLt factorization of a complex Hermitian matrix A. More...  
magma_int_t  magma_dsytrf_nopiv (magma_uplo_t uplo, magma_int_t n, double *A, magma_int_t lda, magma_int_t *info) 
DSYTRF_nopiv computes the LDLt factorization of a real symmetric matrix A. More...  
magma_int_t  magma_dsytrf_nopiv_gpu (magma_uplo_t uplo, magma_int_t n, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *info) 
DSYTRF_nopiv_gpu computes the LDLt factorization of a real symmetric matrix A. More...  
magma_int_t  magma_ssytrf_nopiv (magma_uplo_t uplo, magma_int_t n, float *A, magma_int_t lda, magma_int_t *info) 
SSYTRF_nopiv computes the LDLt factorization of a real symmetric matrix A. More...  
magma_int_t  magma_ssytrf_nopiv_gpu (magma_uplo_t uplo, magma_int_t n, magmaFloat_ptr dA, magma_int_t ldda, magma_int_t *info) 
SSYTRF_nopiv_gpu computes the LDLt factorization of a real symmetric matrix A. More...  
magma_int_t  magma_zhetrf_nopiv (magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *info) 
ZHETRF_nopiv computes the LDLt factorization of a complex Hermitian matrix A. More...  
magma_int_t  magma_zhetrf_nopiv_gpu (magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex_ptr dA, magma_int_t ldda, magma_int_t *info) 
ZHETRF_nopiv_gpu computes the LDLt factorization of a complex Hermitian matrix A. More...  
magma_int_t magma_chetrf_nopiv  (  magma_uplo_t  uplo, 
magma_int_t  n,  
magmaFloatComplex *  A,  
magma_int_t  lda,  
magma_int_t *  info  
) 
CHETRF_nopiv computes the LDLt factorization of a complex Hermitian 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 * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.
This is the block version of the algorithm, calling Level 3 BLAS.
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  A  COMPLEX array, dimension (LDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN 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 NbyN 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 D U or A = L D L^H. Higher performance is achieved if A is in pinned memory. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_chetrf_nopiv_gpu  (  magma_uplo_t  uplo, 
magma_int_t  n,  
magmaFloatComplex_ptr  dA,  
magma_int_t  ldda,  
magma_int_t *  info  
) 
CHETRF_nopiv_gpu computes the LDLt factorization of a complex Hermitian matrix A.
The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.
This is the block version of the algorithm, calling Level 3 BLAS.
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  dA  COMPLEX array on the GPU, dimension (LDDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN 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 NbyN 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 D U or A = L D L^H. Higher performance is achieved if A is in pinned memory, e.g. allocated using cudaMallocHost. 
[in]  ldda  INTEGER The leading dimension of the array A. LDDA >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_dsytrf_nopiv  (  magma_uplo_t  uplo, 
magma_int_t  n,  
double *  A,  
magma_int_t  lda,  
magma_int_t *  info  
) 
DSYTRF_nopiv computes the LDLt factorization of a real symmetric 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 * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.
This is the block version of the algorithm, calling Level 3 BLAS.
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  A  DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 NbyN 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 D U or A = L D L^H. Higher performance is achieved if A is in pinned memory. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_dsytrf_nopiv_gpu  (  magma_uplo_t  uplo, 
magma_int_t  n,  
magmaDouble_ptr  dA,  
magma_int_t  ldda,  
magma_int_t *  info  
) 
DSYTRF_nopiv_gpu computes the LDLt factorization of a real symmetric matrix A.
The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.
This is the block version of the algorithm, calling Level 3 BLAS.
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  dA  DOUBLE PRECISION array on the GPU, dimension (LDDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 NbyN 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 D U or A = L D L^H. Higher performance is achieved if A is in pinned memory, e.g. allocated using cudaMallocHost. 
[in]  ldda  INTEGER The leading dimension of the array A. LDDA >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_ssytrf_nopiv  (  magma_uplo_t  uplo, 
magma_int_t  n,  
float *  A,  
magma_int_t  lda,  
magma_int_t *  info  
) 
SSYTRF_nopiv computes the LDLt factorization of a real symmetric 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 * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.
This is the block version of the algorithm, calling Level 3 BLAS.
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  A  REAL array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 NbyN 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 D U or A = L D L^H. Higher performance is achieved if A is in pinned memory. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_ssytrf_nopiv_gpu  (  magma_uplo_t  uplo, 
magma_int_t  n,  
magmaFloat_ptr  dA,  
magma_int_t  ldda,  
magma_int_t *  info  
) 
SSYTRF_nopiv_gpu computes the LDLt factorization of a real symmetric matrix A.
The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.
This is the block version of the algorithm, calling Level 3 BLAS.
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  dA  REAL array on the GPU, dimension (LDDA,N) On entry, the symmetric matrix A. If UPLO = MagmaUpper, the leading NbyN 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 NbyN 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 D U or A = L D L^H. Higher performance is achieved if A is in pinned memory, e.g. allocated using cudaMallocHost. 
[in]  ldda  INTEGER The leading dimension of the array A. LDDA >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_zhetrf_nopiv  (  magma_uplo_t  uplo, 
magma_int_t  n,  
magmaDoubleComplex *  A,  
magma_int_t  lda,  
magma_int_t *  info  
) 
ZHETRF_nopiv computes the LDLt factorization of a complex Hermitian 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 * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.
This is the block version of the algorithm, calling Level 3 BLAS.
[in]  uplo  magma_uplo_t

[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 NbyN 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 NbyN 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 D U or A = L D L^H. Higher performance is achieved if A is in pinned memory. 
[in]  lda  INTEGER The leading dimension of the array A. LDA >= max(1,N). 
[out]  info  INTEGER

magma_int_t magma_zhetrf_nopiv_gpu  (  magma_uplo_t  uplo, 
magma_int_t  n,  
magmaDoubleComplex_ptr  dA,  
magma_int_t  ldda,  
magma_int_t *  info  
) 
ZHETRF_nopiv_gpu computes the LDLt factorization of a complex Hermitian matrix A.
The factorization has the form A = U^H * D * U, if UPLO = MagmaUpper, or A = L * D * L^H, if UPLO = MagmaLower, where U is an upper triangular matrix, L is lower triangular, and D is a diagonal matrix.
This is the block version of the algorithm, calling Level 3 BLAS.
[in]  uplo  magma_uplo_t

[in]  n  INTEGER The order of the matrix A. N >= 0. 
[in,out]  dA  COMPLEX_16 array on the GPU, dimension (LDDA,N) On entry, the Hermitian matrix A. If UPLO = MagmaUpper, the leading NbyN 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 NbyN 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 D U or A = L D L^H. Higher performance is achieved if A is in pinned memory, e.g. allocated using cudaMallocHost. 
[in]  ldda  INTEGER The leading dimension of the array A. LDDA >= max(1,N). 
[out]  info  INTEGER
