PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
void CORE_ssbtype1cb | ( | int | N, |
int | NB, | ||
float * | A, | ||
int | LDA, | ||
float * | V, | ||
float * | TAU, | ||
int | st, | ||
int | ed, | ||
int | sweep, | ||
int | Vblksiz, | ||
int | WANTZ, | ||
float * | WORK | ||
) |
CORE_ssbtype1cb 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] | 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 (2*NB+1)-by-N. |
[in] | LDA | The leading dimension of the matrix A. LDA >= max(1,2*NB+1) |
[out] | V | float array, dimension N if eigenvalue only requested or (LDV*blkcnt*Vblksiz) if Eigenvectors requested The Householder reflectors are stored in this array. |
[out] | TAU | 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 |