PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
void CORE_sgbtype1cb | ( | PLASMA_enum | uplo, |
int | N, | ||
int | NB, | ||
float * | A, | ||
int | LDA, | ||
float * | VQ, | ||
float * | TAUQ, | ||
float * | VP, | ||
float * | TAUP, | ||
int | st, | ||
int | ed, | ||
int | sweep, | ||
int | Vblksiz, | ||
int | WANTZ, | ||
float * | WORK | ||
) |
CORE_sgbtype1cb is a kernel that will operate on a region (triangle) of data bounded by st and ed. This kernel eliminate a column by an column-wise annihiliation, then it apply a left+right update on the hermitian triangle. Note that the column to be eliminated is located at st-1.
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
[in] | uplo | = PlasmaUpper: Upper triangle of A is stored; = PlasmaLower: Lower triangle of A is stored. |
[in] | N | The order of the matrix A. |
[in] | NB | The size of the band. |
[in,out] | A | A pointer to the matrix A of size (3*NB+1)-by-N. |
[in] | LDA | The leading dimension of the matrix A. LDA >= max(1,3*NB+1) |
[out] | VP | TODO: Check and fix doc float array, dimension N if eigenvalue only requested or (LDV*blkcnt*Vblksiz) if Eigenvectors requested The Householder reflectors are stored in this array. |
[out] | TAUP | TODO: Check and fix doc float array, dimension (N). The scalar factors of the Householder reflectors are stored in this array. |
[out] | VQ | TODO: Check and fix doc float array, dimension N if eigenvalue only requested or (LDV*blkcnt*Vblksiz) if Eigenvectors requested The Householder reflectors are stored in this array. |
[out] | TAUQ | TODO: Check and fix doc float array, dimension (N). The scalar factors of the Householder reflectors are stored in this array. |
[in] | st | A pointer to the start index where this kernel will operate. |
[in] | ed | A pointer to the end index where this kernel will operate. |
[in] | sweep | The sweep number that is eliminated. it serve to calculate the pointer to the position where to store the Vs and Ts. |
[in] | Vblksiz | constant 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] | WANTZ | constant which indicate if Eigenvalue are requested or both Eigenvalue/Eigenvectors. |
[in] | WORK | Workspace of size nb. |
PLASMA_SUCCESS | successful exit |
<0 | if -i, the i-th argument had an illegal value |