PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
void CORE_slaed3_updatevectors | ( | int | op, |
int | wsmode, | ||
int | n, | ||
int | n1, | ||
int | K, | ||
int | il_nondef, | ||
int | iu_nondef, | ||
float * | Q, | ||
int | ldq, | ||
float * | Q2, | ||
const int * | ctot, | ||
float * | W, | ||
int | start, | ||
int | end | ||
) |
CORE_slaed3_updatevectors -
[in] | op | Type of operation to apply = PlasmaLaed3Update1: Apply the GEMM on the first subproblem = PlasmaLaed3Update2: Apply the GEMM on the second subproblem and merge the eigenvalues. = PlasmaLaed3UpdateAll: Apply all operations in one call. |
[in] | wsmode | Specifies the amount of extra workspace used for the computations. = 0 : means that no extra workspace is available (WORK = NULL). S = Q2 + n12 * n1 + n23 * (n-n1) is used as the workspace to sequentially apply the updates = 1 : means that extra workspace has been allocated in CORE_slaed3_computevectors() to apply the updates in parallel. If op = PlasmaLaed3Update1, the first subproblem is updated. If op = PlasmaLaed3Update2, the second subproblem is updated. = 3 : means that extra workspace has been allocated in after K has been computed in CORE_slaed2_computeK(). Allows to apply both updates in parallel as previously. |
[in] | n | n specifies the dimension of the symmetric tridiagonal matrix |
[in] | n1 | n1 specifies the location of the last eigenvalue of the first subproblem min(1, n) <= n1 <= n/2 |
[in] | K | K specifies the number of non-deflated eigenvalues |
[in] | il_nondef | The first eigenvector index when computing only a subset of all eigenpairs |
[in] | iu_nondef | The last eigenvector index when computing only a subset of all eigenpairs |
[out] | Q | The current eigenvectors |
[in] | ldq | LDQ specifies the leading direction of Q |
[in,out] | Q2 | The updated eigenvectors |
[in] | ctot | ctot indicates the number of vectors of each type in the Q matrix. 0- non-zero in the upper half only 1- dense 2- non-zero in the lower half only 3- deflated |
[in] | W | W is the place were will be stored the updated eigenvectors |
[in] | start | start specifies the first column index to be considered by this kernel |
[in] | end | end specifies the last column index to be considered by this kernel |