PLASMA
2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
Go to the source code of this file.
Macros | |
#define | A(_m, _n) (float *)plasma_geteltaddr(A, ((_m)-1), ((_n)-1), eltsize) |
#define | V(_m) &(V[(_m)-1]) |
#define | TAU(_m) &(TAU[(_m)-1]) |
Functions | |
int | CORE_sgbrce (int uplo, int N, PLASMA_desc *A, float *V, float *TAU, int st, int ed, int eltsize) |
PLASMA core_blas kernel PLASMA is a software package provided by Univ. of Tennessee, Univ. of California Berkeley and Univ. of Colorado Denver
Definition in file core_sgbrce.c.
#define A | ( | _m, | |
_n | |||
) | (float *)plasma_geteltaddr(A, ((_m)-1), ((_n)-1), eltsize) |
CORE_sgbrce is a kernel that will operate on a region (triangle) of data bounded by st and ed. This kernel apply a right update, create a new nnz, then it eliminate it, and move to the next right update, create a new nnz, eliminate it and so on until finishing. When this is done, it take advantage that data are on cache and will apply the left on the remaining part of this region that has not been updated by the left yet.
[in] | uplo |
|
[in] | N | The order of the matrix A. |
[in,out] | A | A pointer to the descriptor of the matrix A. |
[out] | V | float 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] | TAU | float 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] | 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] | eltsize | PLASMA internal value which refer to the size of the precision. |
PLASMA_SUCCESS | successful exit |
<0 | if -i, the i-th argument had an illegal value TYPE 1-BDL Householder add -1 because of C |
Definition at line 72 of file core_sgbrce.c.
#define TAU | ( | _m | ) | &(TAU[(_m)-1]) |
Definition at line 74 of file core_sgbrce.c.
#define V | ( | _m | ) | &(V[(_m)-1]) |
Definition at line 73 of file core_sgbrce.c.
int CORE_sgbrce | ( | int | uplo, |
int | N, | ||
PLASMA_desc * | A, | ||
float * | V, | ||
float * | TAU, | ||
int | st, | ||
int | ed, | ||
int | eltsize | ||
) |
Definition at line 76 of file core_sgbrce.c.
References A, CORE_slarfx2(), coreblas_error, ELTLDD, max, plasma_desc_t::mb, min, PLASMA_SUCCESS, PlasmaLeft, PlasmaLower, PlasmaRight, TAU, and V.