PLASMA  2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
int CORE_sgblrx ( PLASMA_enum  uplo,
int  N,
PLASMA_desc A,
float *  V,
float *  TAU,
int  st,
int  ed,
int  eltsize 
)

CORE_sgblrx is a kernel that will operate on a region (triangle) of data bounded by st and ed. This kernel apply a left update, followed by an right and for each annihiliation, it apply a left update, followed by an right update on the diagonal 2x2 element, where it create a new nnz, eliminate it and update V and TAU, then it continue until finishing the the whole column. When this is done, it take advantage that data are on cache and will apply the right on the remaining part of this region that has not been updated by the right yet.

Parameters
[in]uplo
  • PlasmaLower:
  • PlasmaUpper:
[in]NThe order of the matrix A.
[in,out]AA pointer to the descriptor of the matrix A.
[out]Vfloat array, dimension (N). The scalar elementary reflectors are written in this array. So it is used as a workspace for V at each step of the bulge chasing algorithm.
[out]TAUfloat array, dimension (N). The scalar factors of the elementary reflectors are written in thisarray. So it is used as a workspace for TAU at each step of the bulge chasing algorithm.
[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]eltsizePLASMA internal value which refer to the size of the precision.
Returns
Return values
PLASMA_SUCCESSsuccessful exit
<0if -i, the i-th argument had an illegal value TYPE 1-BDL Householder add -1 because of C