![]() |
MAGMA 2.9.0
Matrix Algebra for GPU and Multicore Architectures
|
Functions | |
magma_int_t | magma_clahru (magma_int_t n, magma_int_t ihi, magma_int_t k, magma_int_t nb, magmaFloatComplex *A, magma_int_t lda, magmaFloatComplex_ptr dA, magma_int_t ldda, magmaFloatComplex_ptr dY, magma_int_t lddy, magmaFloatComplex_ptr dV, magma_int_t lddv, magmaFloatComplex_ptr dT, magmaFloatComplex_ptr dwork, magma_queue_t queue) |
CLAHRU is an auxiliary MAGMA routine that is used in CGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels. | |
magma_int_t | magma_clahru_m (magma_int_t n, magma_int_t ihi, magma_int_t k, magma_int_t nb, magmaFloatComplex *A, magma_int_t lda, struct cgehrd_data *data) |
CLAHRU is an auxiliary MAGMA routine that is used in CGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels. | |
magma_int_t | magma_dlahru (magma_int_t n, magma_int_t ihi, magma_int_t k, magma_int_t nb, double *A, magma_int_t lda, magmaDouble_ptr dA, magma_int_t ldda, magmaDouble_ptr dY, magma_int_t lddy, magmaDouble_ptr dV, magma_int_t lddv, magmaDouble_ptr dT, magmaDouble_ptr dwork, magma_queue_t queue) |
DLAHRU is an auxiliary MAGMA routine that is used in DGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels. | |
magma_int_t | magma_dlahru_m (magma_int_t n, magma_int_t ihi, magma_int_t k, magma_int_t nb, double *A, magma_int_t lda, struct dgehrd_data *data) |
DLAHRU is an auxiliary MAGMA routine that is used in DGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels. | |
magma_int_t | magma_slahru (magma_int_t n, magma_int_t ihi, magma_int_t k, magma_int_t nb, float *A, magma_int_t lda, magmaFloat_ptr dA, magma_int_t ldda, magmaFloat_ptr dY, magma_int_t lddy, magmaFloat_ptr dV, magma_int_t lddv, magmaFloat_ptr dT, magmaFloat_ptr dwork, magma_queue_t queue) |
SLAHRU is an auxiliary MAGMA routine that is used in SGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels. | |
magma_int_t | magma_slahru_m (magma_int_t n, magma_int_t ihi, magma_int_t k, magma_int_t nb, float *A, magma_int_t lda, struct sgehrd_data *data) |
SLAHRU is an auxiliary MAGMA routine that is used in SGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels. | |
magma_int_t | magma_zlahru (magma_int_t n, magma_int_t ihi, magma_int_t k, magma_int_t nb, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex_ptr dA, magma_int_t ldda, magmaDoubleComplex_ptr dY, magma_int_t lddy, magmaDoubleComplex_ptr dV, magma_int_t lddv, magmaDoubleComplex_ptr dT, magmaDoubleComplex_ptr dwork, magma_queue_t queue) |
ZLAHRU is an auxiliary MAGMA routine that is used in ZGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels. | |
magma_int_t | magma_zlahru_m (magma_int_t n, magma_int_t ihi, magma_int_t k, magma_int_t nb, magmaDoubleComplex *A, magma_int_t lda, struct zgehrd_data *data) |
ZLAHRU is an auxiliary MAGMA routine that is used in ZGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels. | |
magma_int_t magma_clahru | ( | magma_int_t | n, |
magma_int_t | ihi, | ||
magma_int_t | k, | ||
magma_int_t | nb, | ||
magmaFloatComplex * | A, | ||
magma_int_t | lda, | ||
magmaFloatComplex_ptr | dA, | ||
magma_int_t | ldda, | ||
magmaFloatComplex_ptr | dY, | ||
magma_int_t | lddy, | ||
magmaFloatComplex_ptr | dV, | ||
magma_int_t | lddv, | ||
magmaFloatComplex_ptr | dT, | ||
magmaFloatComplex_ptr | dwork, | ||
magma_queue_t | queue ) |
CLAHRU is an auxiliary MAGMA routine that is used in CGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels.
See further details below.
[in] | n | INTEGER The order of the matrix A. N >= 0. |
[in] | ihi | INTEGER Last row to update. Same as IHI in cgehrd. |
[in] | k | INTEGER Number of rows of the matrix Am (see details below) |
[in] | nb | INTEGER Block size |
[out] | A | COMPLEX array, dimension (LDA,N-K) On entry, the N-by-(N-K) general matrix to be updated. The computation is done on the GPU. After Am is updated on the GPU only Am(1:NB) is transferred to the CPU - to update the corresponding Am matrix. See Further Details below. |
[in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
[in,out] | dA | COMPLEX array on the GPU, dimension (LDDA,N-K). On entry, the N-by-(N-K) general matrix to be updated. On exit, the 1st K rows (matrix Am) of A are updated by applying an orthogonal transformation from the right Am = Am (I-V T V'), and sub-matrix Ag is updated by Ag = (I - V T V') Ag (I - V T V(NB+1:)' ) where Q = I - V T V' represent the orthogonal matrix (as a product of elementary reflectors V) used to reduce the current panel of A to upper Hessenberg form. After Am is updated Am(:,1:NB) is sent to the CPU. See Further Details below. |
[in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
[in,out] | dY | (workspace) COMPLEX array on the GPU, dimension (LDDY, NB). On entry the (N-K)-by-NB Y = A V. It is used internally as workspace, so its value is changed on exit. |
[in] | lddy | INTEGER The leading dimension of the array dY. LDDY >= max(1,N). |
[in,out] | dV | (workspace) COMPLEX array on the GPU, dimension (LDDV, NB). On entry the (N-K)-by-NB matrix V of elementary reflectors used to reduce the current panel of A to upper Hessenberg form. The rest K-by-NB part is used as workspace. V is unchanged on exit. |
[in] | lddv | INTEGER The leading dimension of the array dV. LDDV >= max(1,N). |
[in] | dT | COMPLEX array on the GPU, dimension (NB, NB). On entry the NB-by-NB upper trinagular matrix defining the orthogonal Hessenberg reduction transformation matrix for the current panel. The lower triangular part are 0s. |
dwork | (workspace) COMPLEX array on the GPU, dimension N*NB. | |
[in] | queue | magma_queue_t Queue to execute in. |
This implementation follows the algorithm and notations described in:
S. Tomov and J. Dongarra, "Accelerating the reduction to upper Hessenberg form through hybrid GPU-based computing," University of Tennessee Computer Science Technical Report, UT-CS-09-642 (also LAPACK Working Note 219), May 24, 2009.
The difference is that here Am is computed on the GPU. M is renamed Am, G is renamed Ag.
magma_int_t magma_clahru_m | ( | magma_int_t | n, |
magma_int_t | ihi, | ||
magma_int_t | k, | ||
magma_int_t | nb, | ||
magmaFloatComplex * | A, | ||
magma_int_t | lda, | ||
struct cgehrd_data * | data ) |
CLAHRU is an auxiliary MAGMA routine that is used in CGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels.
See further details below.
[in] | n | INTEGER The order of the matrix A. N >= 0. |
[in] | ihi | INTEGER Last row to update. Same as IHI in cgehrd. |
[in] | k | INTEGER Number of rows of the matrix Am (see details below) |
[in] | nb | INTEGER Block size |
[out] | A | COMPLEX array, dimension (LDA,N-K) On entry, the N-by-(N-K) general matrix to be updated. The computation is done on the GPU. After Am is updated on the GPU only Am(1:NB) is transferred to the CPU - to update the corresponding Am matrix. See Further Details below. |
[in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
[in,out] | data | Structure with pointers to dA, dT, dV, dW, dY which are distributed across multiple GPUs. |
This implementation follows the algorithm and notations described in:
S. Tomov and J. Dongarra, "Accelerating the reduction to upper Hessenberg form through hybrid GPU-based computing," University of Tennessee Computer Science Technical Report, UT-CS-09-642 (also LAPACK Working Note 219), May 24, 2009.
The difference is that here Am is computed on the GPU. M is renamed Am, G is renamed Ag.
magma_int_t magma_dlahru | ( | magma_int_t | n, |
magma_int_t | ihi, | ||
magma_int_t | k, | ||
magma_int_t | nb, | ||
double * | A, | ||
magma_int_t | lda, | ||
magmaDouble_ptr | dA, | ||
magma_int_t | ldda, | ||
magmaDouble_ptr | dY, | ||
magma_int_t | lddy, | ||
magmaDouble_ptr | dV, | ||
magma_int_t | lddv, | ||
magmaDouble_ptr | dT, | ||
magmaDouble_ptr | dwork, | ||
magma_queue_t | queue ) |
DLAHRU is an auxiliary MAGMA routine that is used in DGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels.
See further details below.
[in] | n | INTEGER The order of the matrix A. N >= 0. |
[in] | ihi | INTEGER Last row to update. Same as IHI in dgehrd. |
[in] | k | INTEGER Number of rows of the matrix Am (see details below) |
[in] | nb | INTEGER Block size |
[out] | A | DOUBLE PRECISION array, dimension (LDA,N-K) On entry, the N-by-(N-K) general matrix to be updated. The computation is done on the GPU. After Am is updated on the GPU only Am(1:NB) is transferred to the CPU - to update the corresponding Am matrix. See Further Details below. |
[in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
[in,out] | dA | DOUBLE PRECISION array on the GPU, dimension (LDDA,N-K). On entry, the N-by-(N-K) general matrix to be updated. On exit, the 1st K rows (matrix Am) of A are updated by applying an orthogonal transformation from the right Am = Am (I-V T V'), and sub-matrix Ag is updated by Ag = (I - V T V') Ag (I - V T V(NB+1:)' ) where Q = I - V T V' represent the orthogonal matrix (as a product of elementary reflectors V) used to reduce the current panel of A to upper Hessenberg form. After Am is updated Am(:,1:NB) is sent to the CPU. See Further Details below. |
[in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
[in,out] | dY | (workspace) DOUBLE PRECISION array on the GPU, dimension (LDDY, NB). On entry the (N-K)-by-NB Y = A V. It is used internally as workspace, so its value is changed on exit. |
[in] | lddy | INTEGER The leading dimension of the array dY. LDDY >= max(1,N). |
[in,out] | dV | (workspace) DOUBLE PRECISION array on the GPU, dimension (LDDV, NB). On entry the (N-K)-by-NB matrix V of elementary reflectors used to reduce the current panel of A to upper Hessenberg form. The rest K-by-NB part is used as workspace. V is unchanged on exit. |
[in] | lddv | INTEGER The leading dimension of the array dV. LDDV >= max(1,N). |
[in] | dT | DOUBLE PRECISION array on the GPU, dimension (NB, NB). On entry the NB-by-NB upper trinagular matrix defining the orthogonal Hessenberg reduction transformation matrix for the current panel. The lower triangular part are 0s. |
dwork | (workspace) DOUBLE PRECISION array on the GPU, dimension N*NB. | |
[in] | queue | magma_queue_t Queue to execute in. |
This implementation follows the algorithm and notations described in:
S. Tomov and J. Dongarra, "Accelerating the reduction to upper Hessenberg form through hybrid GPU-based computing," University of Tennessee Computer Science Technical Report, UT-CS-09-642 (also LAPACK Working Note 219), May 24, 2009.
The difference is that here Am is computed on the GPU. M is renamed Am, G is renamed Ag.
magma_int_t magma_dlahru_m | ( | magma_int_t | n, |
magma_int_t | ihi, | ||
magma_int_t | k, | ||
magma_int_t | nb, | ||
double * | A, | ||
magma_int_t | lda, | ||
struct dgehrd_data * | data ) |
DLAHRU is an auxiliary MAGMA routine that is used in DGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels.
See further details below.
[in] | n | INTEGER The order of the matrix A. N >= 0. |
[in] | ihi | INTEGER Last row to update. Same as IHI in dgehrd. |
[in] | k | INTEGER Number of rows of the matrix Am (see details below) |
[in] | nb | INTEGER Block size |
[out] | A | DOUBLE PRECISION array, dimension (LDA,N-K) On entry, the N-by-(N-K) general matrix to be updated. The computation is done on the GPU. After Am is updated on the GPU only Am(1:NB) is transferred to the CPU - to update the corresponding Am matrix. See Further Details below. |
[in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
[in,out] | data | Structure with pointers to dA, dT, dV, dW, dY which are distributed across multiple GPUs. |
This implementation follows the algorithm and notations described in:
S. Tomov and J. Dongarra, "Accelerating the reduction to upper Hessenberg form through hybrid GPU-based computing," University of Tennessee Computer Science Technical Report, UT-CS-09-642 (also LAPACK Working Note 219), May 24, 2009.
The difference is that here Am is computed on the GPU. M is renamed Am, G is renamed Ag.
magma_int_t magma_slahru | ( | magma_int_t | n, |
magma_int_t | ihi, | ||
magma_int_t | k, | ||
magma_int_t | nb, | ||
float * | A, | ||
magma_int_t | lda, | ||
magmaFloat_ptr | dA, | ||
magma_int_t | ldda, | ||
magmaFloat_ptr | dY, | ||
magma_int_t | lddy, | ||
magmaFloat_ptr | dV, | ||
magma_int_t | lddv, | ||
magmaFloat_ptr | dT, | ||
magmaFloat_ptr | dwork, | ||
magma_queue_t | queue ) |
SLAHRU is an auxiliary MAGMA routine that is used in SGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels.
See further details below.
[in] | n | INTEGER The order of the matrix A. N >= 0. |
[in] | ihi | INTEGER Last row to update. Same as IHI in sgehrd. |
[in] | k | INTEGER Number of rows of the matrix Am (see details below) |
[in] | nb | INTEGER Block size |
[out] | A | REAL array, dimension (LDA,N-K) On entry, the N-by-(N-K) general matrix to be updated. The computation is done on the GPU. After Am is updated on the GPU only Am(1:NB) is transferred to the CPU - to update the corresponding Am matrix. See Further Details below. |
[in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
[in,out] | dA | REAL array on the GPU, dimension (LDDA,N-K). On entry, the N-by-(N-K) general matrix to be updated. On exit, the 1st K rows (matrix Am) of A are updated by applying an orthogonal transformation from the right Am = Am (I-V T V'), and sub-matrix Ag is updated by Ag = (I - V T V') Ag (I - V T V(NB+1:)' ) where Q = I - V T V' represent the orthogonal matrix (as a product of elementary reflectors V) used to reduce the current panel of A to upper Hessenberg form. After Am is updated Am(:,1:NB) is sent to the CPU. See Further Details below. |
[in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
[in,out] | dY | (workspace) REAL array on the GPU, dimension (LDDY, NB). On entry the (N-K)-by-NB Y = A V. It is used internally as workspace, so its value is changed on exit. |
[in] | lddy | INTEGER The leading dimension of the array dY. LDDY >= max(1,N). |
[in,out] | dV | (workspace) REAL array on the GPU, dimension (LDDV, NB). On entry the (N-K)-by-NB matrix V of elementary reflectors used to reduce the current panel of A to upper Hessenberg form. The rest K-by-NB part is used as workspace. V is unchanged on exit. |
[in] | lddv | INTEGER The leading dimension of the array dV. LDDV >= max(1,N). |
[in] | dT | REAL array on the GPU, dimension (NB, NB). On entry the NB-by-NB upper trinagular matrix defining the orthogonal Hessenberg reduction transformation matrix for the current panel. The lower triangular part are 0s. |
dwork | (workspace) REAL array on the GPU, dimension N*NB. | |
[in] | queue | magma_queue_t Queue to execute in. |
This implementation follows the algorithm and notations described in:
S. Tomov and J. Dongarra, "Accelerating the reduction to upper Hessenberg form through hybrid GPU-based computing," University of Tennessee Computer Science Technical Report, UT-CS-09-642 (also LAPACK Working Note 219), May 24, 2009.
The difference is that here Am is computed on the GPU. M is renamed Am, G is renamed Ag.
magma_int_t magma_slahru_m | ( | magma_int_t | n, |
magma_int_t | ihi, | ||
magma_int_t | k, | ||
magma_int_t | nb, | ||
float * | A, | ||
magma_int_t | lda, | ||
struct sgehrd_data * | data ) |
SLAHRU is an auxiliary MAGMA routine that is used in SGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels.
See further details below.
[in] | n | INTEGER The order of the matrix A. N >= 0. |
[in] | ihi | INTEGER Last row to update. Same as IHI in sgehrd. |
[in] | k | INTEGER Number of rows of the matrix Am (see details below) |
[in] | nb | INTEGER Block size |
[out] | A | REAL array, dimension (LDA,N-K) On entry, the N-by-(N-K) general matrix to be updated. The computation is done on the GPU. After Am is updated on the GPU only Am(1:NB) is transferred to the CPU - to update the corresponding Am matrix. See Further Details below. |
[in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
[in,out] | data | Structure with pointers to dA, dT, dV, dW, dY which are distributed across multiple GPUs. |
This implementation follows the algorithm and notations described in:
S. Tomov and J. Dongarra, "Accelerating the reduction to upper Hessenberg form through hybrid GPU-based computing," University of Tennessee Computer Science Technical Report, UT-CS-09-642 (also LAPACK Working Note 219), May 24, 2009.
The difference is that here Am is computed on the GPU. M is renamed Am, G is renamed Ag.
magma_int_t magma_zlahru | ( | magma_int_t | n, |
magma_int_t | ihi, | ||
magma_int_t | k, | ||
magma_int_t | nb, | ||
magmaDoubleComplex * | A, | ||
magma_int_t | lda, | ||
magmaDoubleComplex_ptr | dA, | ||
magma_int_t | ldda, | ||
magmaDoubleComplex_ptr | dY, | ||
magma_int_t | lddy, | ||
magmaDoubleComplex_ptr | dV, | ||
magma_int_t | lddv, | ||
magmaDoubleComplex_ptr | dT, | ||
magmaDoubleComplex_ptr | dwork, | ||
magma_queue_t | queue ) |
ZLAHRU is an auxiliary MAGMA routine that is used in ZGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels.
See further details below.
[in] | n | INTEGER The order of the matrix A. N >= 0. |
[in] | ihi | INTEGER Last row to update. Same as IHI in zgehrd. |
[in] | k | INTEGER Number of rows of the matrix Am (see details below) |
[in] | nb | INTEGER Block size |
[out] | A | COMPLEX_16 array, dimension (LDA,N-K) On entry, the N-by-(N-K) general matrix to be updated. The computation is done on the GPU. After Am is updated on the GPU only Am(1:NB) is transferred to the CPU - to update the corresponding Am matrix. See Further Details below. |
[in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
[in,out] | dA | COMPLEX_16 array on the GPU, dimension (LDDA,N-K). On entry, the N-by-(N-K) general matrix to be updated. On exit, the 1st K rows (matrix Am) of A are updated by applying an orthogonal transformation from the right Am = Am (I-V T V'), and sub-matrix Ag is updated by Ag = (I - V T V') Ag (I - V T V(NB+1:)' ) where Q = I - V T V' represent the orthogonal matrix (as a product of elementary reflectors V) used to reduce the current panel of A to upper Hessenberg form. After Am is updated Am(:,1:NB) is sent to the CPU. See Further Details below. |
[in] | ldda | INTEGER The leading dimension of the array dA. LDDA >= max(1,N). |
[in,out] | dY | (workspace) COMPLEX_16 array on the GPU, dimension (LDDY, NB). On entry the (N-K)-by-NB Y = A V. It is used internally as workspace, so its value is changed on exit. |
[in] | lddy | INTEGER The leading dimension of the array dY. LDDY >= max(1,N). |
[in,out] | dV | (workspace) COMPLEX_16 array on the GPU, dimension (LDDV, NB). On entry the (N-K)-by-NB matrix V of elementary reflectors used to reduce the current panel of A to upper Hessenberg form. The rest K-by-NB part is used as workspace. V is unchanged on exit. |
[in] | lddv | INTEGER The leading dimension of the array dV. LDDV >= max(1,N). |
[in] | dT | COMPLEX_16 array on the GPU, dimension (NB, NB). On entry the NB-by-NB upper trinagular matrix defining the orthogonal Hessenberg reduction transformation matrix for the current panel. The lower triangular part are 0s. |
dwork | (workspace) COMPLEX_16 array on the GPU, dimension N*NB. | |
[in] | queue | magma_queue_t Queue to execute in. |
This implementation follows the algorithm and notations described in:
S. Tomov and J. Dongarra, "Accelerating the reduction to upper Hessenberg form through hybrid GPU-based computing," University of Tennessee Computer Science Technical Report, UT-CS-09-642 (also LAPACK Working Note 219), May 24, 2009.
The difference is that here Am is computed on the GPU. M is renamed Am, G is renamed Ag.
magma_int_t magma_zlahru_m | ( | magma_int_t | n, |
magma_int_t | ihi, | ||
magma_int_t | k, | ||
magma_int_t | nb, | ||
magmaDoubleComplex * | A, | ||
magma_int_t | lda, | ||
struct zgehrd_data * | data ) |
ZLAHRU is an auxiliary MAGMA routine that is used in ZGEHRD to update the trailing sub-matrices after the reductions of the corresponding panels.
See further details below.
[in] | n | INTEGER The order of the matrix A. N >= 0. |
[in] | ihi | INTEGER Last row to update. Same as IHI in zgehrd. |
[in] | k | INTEGER Number of rows of the matrix Am (see details below) |
[in] | nb | INTEGER Block size |
[out] | A | COMPLEX_16 array, dimension (LDA,N-K) On entry, the N-by-(N-K) general matrix to be updated. The computation is done on the GPU. After Am is updated on the GPU only Am(1:NB) is transferred to the CPU - to update the corresponding Am matrix. See Further Details below. |
[in] | lda | INTEGER The leading dimension of the array A. LDA >= max(1,N). |
[in,out] | data | Structure with pointers to dA, dT, dV, dW, dY which are distributed across multiple GPUs. |
This implementation follows the algorithm and notations described in:
S. Tomov and J. Dongarra, "Accelerating the reduction to upper Hessenberg form through hybrid GPU-based computing," University of Tennessee Computer Science Technical Report, UT-CS-09-642 (also LAPACK Working Note 219), May 24, 2009.
The difference is that here Am is computed on the GPU. M is renamed Am, G is renamed Ag.