MAGMA  2.3.0
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages

Functions

void magma_chbtype2cb (magma_int_t n, magma_int_t nb, magmaFloatComplex *A, magma_int_t lda, magmaFloatComplex *V, magma_int_t ldv, magmaFloatComplex *TAU, magma_int_t st, magma_int_t ed, magma_int_t sweep, magma_int_t Vblksiz, magma_int_t wantz, magmaFloatComplex *work)
 magma_chbtype2cb is a kernel that will operate on a region (triangle) of data bounded by st and ed. More...
 
void magma_dsbtype2cb (magma_int_t n, magma_int_t nb, double *A, magma_int_t lda, double *V, magma_int_t ldv, double *TAU, magma_int_t st, magma_int_t ed, magma_int_t sweep, magma_int_t Vblksiz, magma_int_t wantz, double *work)
 magma_dsbtype2cb is a kernel that will operate on a region (triangle) of data bounded by st and ed. More...
 
void magma_ssbtype2cb (magma_int_t n, magma_int_t nb, float *A, magma_int_t lda, float *V, magma_int_t ldv, float *TAU, magma_int_t st, magma_int_t ed, magma_int_t sweep, magma_int_t Vblksiz, magma_int_t wantz, float *work)
 magma_ssbtype2cb is a kernel that will operate on a region (triangle) of data bounded by st and ed. More...
 
void magma_zhbtype2cb (magma_int_t n, magma_int_t nb, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *V, magma_int_t ldv, magmaDoubleComplex *TAU, magma_int_t st, magma_int_t ed, magma_int_t sweep, magma_int_t Vblksiz, magma_int_t wantz, magmaDoubleComplex *work)
 magma_zhbtype2cb is a kernel that will operate on a region (triangle) of data bounded by st and ed. More...
 

Detailed Description

Function Documentation

void magma_chbtype2cb ( magma_int_t  n,
magma_int_t  nb,
magmaFloatComplex *  A,
magma_int_t  lda,
magmaFloatComplex *  V,
magma_int_t  ldv,
magmaFloatComplex *  TAU,
magma_int_t  st,
magma_int_t  ed,
magma_int_t  sweep,
magma_int_t  Vblksiz,
magma_int_t  wantz,
magmaFloatComplex *  work 
)

magma_chbtype2cb is a kernel that will operate on a region (triangle) of data bounded by st and ed.

This kernel apply the right update remaining from the type1 and this later will create a bulge so it eliminate the first column of the created bulge and do the corresponding Left update.

All detail are available on technical report or SC11 paper. Azzam Haidar, Hatem Ltaief, and Jack Dongarra. 2011. Parallel reduction to condensed forms for symmetric eigenvalue problems using aggregated fine-grained and memory-aware kernels. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC '11). ACM, New York, NY, USA, Article 8, 11 pages. http://doi.acm.org/10.1145/2063384.2063394

Parameters
[in]nThe order of the matrix A.
[in]nbThe size of the band.
[in,out]AA pointer to the matrix A of size (2*nb+1)-by-n.
[in]ldaThe leading dimension of the matrix A. lda >= max(1,2*nb+1)
[in,out]VmagmaFloatComplex array, dimension 2*n if eigenvalue only requested or (LDV*blkcnt*Vblksiz) if Eigenvectors requested The Householder reflectors of the previous type 1 are used here to continue update then new one are generated to eliminate the bulge and stored in this array.
[in]ldvThe leading dimension of the matrix V. ldv >= TODO.
[in,out]TAUmagmaFloatComplex array, dimension (n). The scalar factors of the Householder reflectors of the previous type 1 are used here to continue update then new one are generated to eliminate the bulge and stored in this array.
[in]stA pointer to the start index where this kernel will operate.
[in]edA pointer to the end index where this kernel will operate.
[in]sweepThe sweep number that is eliminated. it serve to calculate the pointer to the position where to store the Vs and Ts.
[in]Vblksizconstant which correspond to the blocking used when applying the Vs. it serve to calculate the pointer to the position where to store the Vs and Ts.
[in]wantzconstant which indicate if Eigenvalue are requested or both Eigenvalue/Eigenvectors.
[in]workWorkspace of size nb.
Returns
Return values
MAGMA_SUCCESSsuccessful exit
<0 if -i, the i-th argument had an illegal value
void magma_dsbtype2cb ( magma_int_t  n,
magma_int_t  nb,
double *  A,
magma_int_t  lda,
double *  V,
magma_int_t  ldv,
double *  TAU,
magma_int_t  st,
magma_int_t  ed,
magma_int_t  sweep,
magma_int_t  Vblksiz,
magma_int_t  wantz,
double *  work 
)

magma_dsbtype2cb is a kernel that will operate on a region (triangle) of data bounded by st and ed.

This kernel apply the right update remaining from the type1 and this later will create a bulge so it eliminate the first column of the created bulge and do the corresponding Left update.

All detail are available on technical report or SC11 paper. Azzam Haidar, Hatem Ltaief, and Jack Dongarra. 2011. Parallel reduction to condensed forms for symmetric eigenvalue problems using aggregated fine-grained and memory-aware kernels. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC '11). ACM, New York, NY, USA, Article 8, 11 pages. http://doi.acm.org/10.1145/2063384.2063394

Parameters
[in]nThe order of the matrix A.
[in]nbThe size of the band.
[in,out]AA pointer to the matrix A of size (2*nb+1)-by-n.
[in]ldaThe leading dimension of the matrix A. lda >= max(1,2*nb+1)
[in,out]Vdouble array, dimension 2*n if eigenvalue only requested or (LDV*blkcnt*Vblksiz) if Eigenvectors requested The Householder reflectors of the previous type 1 are used here to continue update then new one are generated to eliminate the bulge and stored in this array.
[in]ldvThe leading dimension of the matrix V. ldv >= TODO.
[in,out]TAUdouble array, dimension (n). The scalar factors of the Householder reflectors of the previous type 1 are used here to continue update then new one are generated to eliminate the bulge and stored in this array.
[in]stA pointer to the start index where this kernel will operate.
[in]edA pointer to the end index where this kernel will operate.
[in]sweepThe sweep number that is eliminated. it serve to calculate the pointer to the position where to store the Vs and Ts.
[in]Vblksizconstant which correspond to the blocking used when applying the Vs. it serve to calculate the pointer to the position where to store the Vs and Ts.
[in]wantzconstant which indicate if Eigenvalue are requested or both Eigenvalue/Eigenvectors.
[in]workWorkspace of size nb.
Returns
Return values
MAGMA_SUCCESSsuccessful exit
<0 if -i, the i-th argument had an illegal value
void magma_ssbtype2cb ( magma_int_t  n,
magma_int_t  nb,
float *  A,
magma_int_t  lda,
float *  V,
magma_int_t  ldv,
float *  TAU,
magma_int_t  st,
magma_int_t  ed,
magma_int_t  sweep,
magma_int_t  Vblksiz,
magma_int_t  wantz,
float *  work 
)

magma_ssbtype2cb is a kernel that will operate on a region (triangle) of data bounded by st and ed.

This kernel apply the right update remaining from the type1 and this later will create a bulge so it eliminate the first column of the created bulge and do the corresponding Left update.

All detail are available on technical report or SC11 paper. Azzam Haidar, Hatem Ltaief, and Jack Dongarra. 2011. Parallel reduction to condensed forms for symmetric eigenvalue problems using aggregated fine-grained and memory-aware kernels. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC '11). ACM, New York, NY, USA, Article 8, 11 pages. http://doi.acm.org/10.1145/2063384.2063394

Parameters
[in]nThe order of the matrix A.
[in]nbThe size of the band.
[in,out]AA pointer to the matrix A of size (2*nb+1)-by-n.
[in]ldaThe leading dimension of the matrix A. lda >= max(1,2*nb+1)
[in,out]Vfloat array, dimension 2*n if eigenvalue only requested or (LDV*blkcnt*Vblksiz) if Eigenvectors requested The Householder reflectors of the previous type 1 are used here to continue update then new one are generated to eliminate the bulge and stored in this array.
[in]ldvThe leading dimension of the matrix V. ldv >= TODO.
[in,out]TAUfloat array, dimension (n). The scalar factors of the Householder reflectors of the previous type 1 are used here to continue update then new one are generated to eliminate the bulge and stored in this array.
[in]stA pointer to the start index where this kernel will operate.
[in]edA pointer to the end index where this kernel will operate.
[in]sweepThe sweep number that is eliminated. it serve to calculate the pointer to the position where to store the Vs and Ts.
[in]Vblksizconstant which correspond to the blocking used when applying the Vs. it serve to calculate the pointer to the position where to store the Vs and Ts.
[in]wantzconstant which indicate if Eigenvalue are requested or both Eigenvalue/Eigenvectors.
[in]workWorkspace of size nb.
Returns
Return values
MAGMA_SUCCESSsuccessful exit
<0 if -i, the i-th argument had an illegal value
void magma_zhbtype2cb ( magma_int_t  n,
magma_int_t  nb,
magmaDoubleComplex *  A,
magma_int_t  lda,
magmaDoubleComplex *  V,
magma_int_t  ldv,
magmaDoubleComplex *  TAU,
magma_int_t  st,
magma_int_t  ed,
magma_int_t  sweep,
magma_int_t  Vblksiz,
magma_int_t  wantz,
magmaDoubleComplex *  work 
)

magma_zhbtype2cb is a kernel that will operate on a region (triangle) of data bounded by st and ed.

This kernel apply the right update remaining from the type1 and this later will create a bulge so it eliminate the first column of the created bulge and do the corresponding Left update.

All detail are available on technical report or SC11 paper. Azzam Haidar, Hatem Ltaief, and Jack Dongarra. 2011. Parallel reduction to condensed forms for symmetric eigenvalue problems using aggregated fine-grained and memory-aware kernels. In Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC '11). ACM, New York, NY, USA, Article 8, 11 pages. http://doi.acm.org/10.1145/2063384.2063394

Parameters
[in]nThe order of the matrix A.
[in]nbThe size of the band.
[in,out]AA pointer to the matrix A of size (2*nb+1)-by-n.
[in]ldaThe leading dimension of the matrix A. lda >= max(1,2*nb+1)
[in,out]VmagmaDoubleComplex array, dimension 2*n if eigenvalue only requested or (LDV*blkcnt*Vblksiz) if Eigenvectors requested The Householder reflectors of the previous type 1 are used here to continue update then new one are generated to eliminate the bulge and stored in this array.
[in]ldvThe leading dimension of the matrix V. ldv >= TODO.
[in,out]TAUmagmaDoubleComplex array, dimension (n). The scalar factors of the Householder reflectors of the previous type 1 are used here to continue update then new one are generated to eliminate the bulge and stored in this array.
[in]stA pointer to the start index where this kernel will operate.
[in]edA pointer to the end index where this kernel will operate.
[in]sweepThe sweep number that is eliminated. it serve to calculate the pointer to the position where to store the Vs and Ts.
[in]Vblksizconstant which correspond to the blocking used when applying the Vs. it serve to calculate the pointer to the position where to store the Vs and Ts.
[in]wantzconstant which indicate if Eigenvalue are requested or both Eigenvalue/Eigenvectors.
[in]workWorkspace of size nb.
Returns
Return values
MAGMA_SUCCESSsuccessful exit
<0 if -i, the i-th argument had an illegal value