PLASMA  2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
void CORE_dgbtype1cb ( PLASMA_enum  uplo,
int  N,
int  NB,
double *  A,
int  LDA,
double *  VQ,
double *  TAUQ,
double *  VP,
double *  TAUP,
int  st,
int  ed,
int  sweep,
int  Vblksiz,
int  WANTZ,
double *  WORK 
)

CORE_dgbtype1cb 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

Parameters
[in]uplo= PlasmaUpper: Upper triangle of A is stored; = PlasmaLower: Lower triangle of A is stored.
[in]NThe order of the matrix A.
[in]NBThe size of the band.
[in,out]AA pointer to the matrix A of size (3*NB+1)-by-N.
[in]LDAThe leading dimension of the matrix A. LDA >= max(1,3*NB+1)
[out]VPTODO: Check and fix doc double array, dimension N if eigenvalue only requested or (LDV*blkcnt*Vblksiz) if Eigenvectors requested The Householder reflectors are stored in this array.
[out]TAUPTODO: Check and fix doc double array, dimension (N). The scalar factors of the Householder reflectors are stored in this array.
[out]VQTODO: Check and fix doc double array, dimension N if eigenvalue only requested or (LDV*blkcnt*Vblksiz) if Eigenvectors requested The Householder reflectors are stored in this array.
[out]TAUQTODO: Check and fix doc double array, dimension (N). The scalar factors of the Householder reflectors are 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
PLASMA_SUCCESSsuccessful exit
<0if -i, the i-th argument had an illegal value