PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
int CORE_dlacpy_pivot | ( | const PLASMA_desc | descA, |
PLASMA_enum | direct, | ||
int | k1, | ||
int | k2, | ||
const int * | ipiv, | ||
int * | rankin, | ||
int * | rankout, | ||
double * | A, | ||
int | lda, | ||
int | init | ||
) |
CORE_dlacpy_pivot extracts the original version of the rows selected by the ipiv array and copies them into a new buffer.
This kernel is used by tournament pivoting algorithms, to extract the selected rows from the original matrix that will make it to the next level of the tournament.
[in] | descA | The descriptor of the matrix A in which the kernel will extract the original rows. |
[in] | direct |
|
[in] | k1 | The first element of IPIV for which a row interchange will be done. |
[in] | k2 | The last element of IPIV for which a row interchange will be done. |
[in] | ipiv | The pivot indices; Only the element in position k1 to k2 are accessed. The pivots should be included in the interval 1 to A.m |
[in,out] | rankin | On entry, the global indices relative to the full matrix A factorized, in the local sub-matrix. If init == 1, rankin is initialized to A.i, .. A.i+descA.m On exit, rows are permutted according to ipiv. |
[out] | rankout | On exit, contains the global indices of the first (k2-k1+1) rows. |
[out] | A | An lda-by-descA.n matrix. On exit, A contains the original version of the rows selected by the pivoting process. |
[in] | lda | The leading dimension of the array A. lda >= max(1,(k2-k1+1)). |
[in] | init | True if rankin needs to be initialized. False, if rankin contains already initialized data. |
PLASMA_SUCCESS | successful exit |
<0 | if INFO = -k, the k-th argument had an illegal value |