|
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 |