![]() |
MAGMA
2.0.2
Matrix Algebra for GPU and Multicore Architectures
|
Functions | |
magma_int_t | magma_dlaqps (magma_int_t m, magma_int_t n, magma_int_t offset, magma_int_t nb, magma_int_t *kb, double *A, magma_int_t lda, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *jpvt, double *tau, double *vn1, double *vn2, double *auxv, double *F, magma_int_t ldf, magmaDouble_ptr dF, magma_int_t lddf) |
DLAQPS computes a step of QR factorization with column pivoting of a real M-by-N matrix A by using Blas-3. More... | |
magma_int_t | magma_dlaqps_gpu (magma_int_t m, magma_int_t n, magma_int_t offset, magma_int_t nb, magma_int_t *kb, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t *jpvt, double *tau, double *vn1, double *vn2, magmaDouble_ptr dauxv, magmaDouble_ptr dF, magma_int_t lddf) |
magma_int_t magma_dlaqps | ( | magma_int_t | m, |
magma_int_t | n, | ||
magma_int_t | offset, | ||
magma_int_t | nb, | ||
magma_int_t * | kb, | ||
double * | A, | ||
magma_int_t | lda, | ||
magmaDouble_ptr | dA, | ||
magma_int_t | ldda, | ||
magma_int_t * | jpvt, | ||
double * | tau, | ||
double * | vn1, | ||
double * | vn2, | ||
double * | auxv, | ||
double * | F, | ||
magma_int_t | ldf, | ||
magmaDouble_ptr | dF, | ||
magma_int_t | lddf | ||
) |
DLAQPS computes a step of QR factorization with column pivoting of a real M-by-N matrix A by using Blas-3.
It tries to factorize NB columns from A starting from the row OFFSET+1, and updates all of the matrix with Blas-3 xGEMM.
In some cases, due to catastrophic cancellations, it cannot factorize NB columns. Hence, the actual number of factorized columns is returned in KB.
Block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized.
[in] | m | INTEGER The number of rows of the matrix A. M >= 0. |
[in] | n | INTEGER The number of columns of the matrix A. N >= 0 |
[in] | offset | INTEGER The number of rows of A that have been factorized in previous steps. |
[in] | nb | INTEGER The number of columns to factorize. |
[out] | kb | INTEGER The number of columns actually factorized. |
[in,out] | A | DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. On exit, block A(OFFSET+1:M,1:KB) is the triangular factor obtained and block A(1:OFFSET,1:N) has been accordingly pivoted, but no factorized. The rest of the matrix, block A(OFFSET+1:M,KB+1:N) has been updated. |
[in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,M). |
[in,out] | jpvt | INTEGER array, dimension (N) JPVT(I) = K <==> Column K of the full matrix A has been permuted into position I in AP. |
[out] | tau | DOUBLE PRECISION array, dimension (KB) The scalar factors of the elementary reflectors. |
[in,out] | vn1 | DOUBLE PRECISION array, dimension (N) The vector with the partial column norms. |
[in,out] | vn2 | DOUBLE PRECISION array, dimension (N) The vector with the exact column norms. |
[in,out] | auxv | DOUBLE PRECISION array, dimension (NB) Auxiliar vector. |
[in,out] | F | DOUBLE PRECISION array, dimension (LDF,NB) Matrix F' = L*Y'*A. |
[in] | ldf | INTEGER The leading dimension of the array F. LDF >= max(1,N). |
magma_int_t magma_dlaqps_gpu | ( | magma_int_t | m, |
magma_int_t | n, | ||
magma_int_t | offset, | ||
magma_int_t | nb, | ||
magma_int_t * | kb, | ||
magmaDouble_ptr | dA, | ||
magma_int_t | ldda, | ||
magma_int_t * | jpvt, | ||
double * | tau, | ||
double * | vn1, | ||
double * | vn2, | ||
magmaDouble_ptr | dauxv, | ||
magmaDouble_ptr | dF, | ||
magma_int_t | lddf | ||
) |
DLAQPS computes a step of QR factorization with column pivoting of a real M-by-N matrix A by using Blas-3. It tries to factorize NB columns from A starting from the row OFFSET+1, and updates all of the matrix with Blas-3 xGEMM.
In some cases, due to catastrophic cancellations, it cannot factorize NB columns. Hence, the actual number of factorized columns is returned in KB.
Block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized.
[in] | m | INTEGER The number of rows of the matrix A. M >= 0. |
[in] | n | INTEGER The number of columns of the matrix A. N >= 0 |
[in] | offset | INTEGER The number of rows of A that have been factorized in previous steps. |
[in] | nb | INTEGER The number of columns to factorize. |
[out] | kb | INTEGER The number of columns actually factorized. |
[in,out] | dA | DOUBLE PRECISION array, dimension (LDDA,N), on the GPU. On entry, the M-by-N matrix A. On exit, block A(OFFSET+1:M,1:KB) is the triangular factor obtained and block A(1:OFFSET,1:N) has been accordingly pivoted, but no factorized. The rest of the matrix, block A(OFFSET+1:M,KB+1:N) has been updated. |
[in] | ldda | INTEGER The leading dimension of the array A. LDDA >= max(1,M). |
[in,out] | jpvt | INTEGER array, dimension (N) JPVT(I) = K <==> Column K of the full matrix A has been permuted into position I in AP. |
[out] | tau | DOUBLE PRECISION array, dimension (KB) The scalar factors of the elementary reflectors. |
[in,out] | vn1 | DOUBLE PRECISION array, dimension (N) The vector with the partial column norms. |
[in,out] | vn2 | DOUBLE PRECISION array, dimension (N) The vector with the exact column norms. |
[in,out] | dauxv | DOUBLE PRECISION array, dimension (NB), on the GPU Auxiliary vector. |
[in,out] | dF | DOUBLE PRECISION array, dimension (LDDF,NB), on the GPU Matrix F' = L*Y'*A. |
[in] | lddf | INTEGER The leading dimension of the array F. LDDF >= max(1,N). |