MAGMA  2.3.0
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages
laswp: Swap rows

Functions

void magmablas_claswp (magma_int_t n, magmaFloatComplex_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

CLASWP performs a series of row interchanges on the matrix A. More...
 
void magmablas_claswpx (magma_int_t n, magmaFloatComplex_ptr dA, magma_int_t ldx, magma_int_t ldy, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

CLASWPX performs a series of row interchanges on the matrix A. More...
 
void magmablas_claswp2 (magma_int_t n, magmaFloatComplex_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, magmaInt_const_ptr d_ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

CLASWP2 performs a series of row interchanges on the matrix A. More...
 
void magmablas_dlaswp (magma_int_t n, magmaDouble_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

DLASWP performs a series of row interchanges on the matrix A. More...
 
void magmablas_dlaswpx (magma_int_t n, magmaDouble_ptr dA, magma_int_t ldx, magma_int_t ldy, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

DLASWPX performs a series of row interchanges on the matrix A. More...
 
void magmablas_dlaswp2 (magma_int_t n, magmaDouble_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, magmaInt_const_ptr d_ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

DLASWP2 performs a series of row interchanges on the matrix A. More...
 
void magmablas_dslaswp (magma_int_t n, magmaDouble_ptr A, magma_int_t lda, magmaFloat_ptr SA, magma_int_t ldsa, magma_int_t m, const magma_int_t *ipiv, magma_int_t incx, magma_queue_t queue)
 Row i of A is cast to single precision in row ipiv[i] of SA (incx > 0), or row i of SA is cast to double precision in row ipiv[i] of A (incx < 0), for 0 <= i < M. More...
 
void magmablas_slaswp (magma_int_t n, magmaFloat_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

SLASWP performs a series of row interchanges on the matrix A. More...
 
void magmablas_slaswpx (magma_int_t n, magmaFloat_ptr dA, magma_int_t ldx, magma_int_t ldy, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

SLASWPX performs a series of row interchanges on the matrix A. More...
 
void magmablas_slaswp2 (magma_int_t n, magmaFloat_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, magmaInt_const_ptr d_ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

SLASWP2 performs a series of row interchanges on the matrix A. More...
 
void magmablas_zclaswp (magma_int_t n, magmaDoubleComplex_ptr A, magma_int_t lda, magmaFloatComplex_ptr SA, magma_int_t ldsa, magma_int_t m, const magma_int_t *ipiv, magma_int_t incx, magma_queue_t queue)
 Row i of A is cast to single precision in row ipiv[i] of SA (incx > 0), or row i of SA is cast to double precision in row ipiv[i] of A (incx < 0), for 0 <= i < M. More...
 
void magmablas_zlaswp (magma_int_t n, magmaDoubleComplex_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

ZLASWP performs a series of row interchanges on the matrix A. More...
 
void magmablas_zlaswpx (magma_int_t n, magmaDoubleComplex_ptr dA, magma_int_t ldx, magma_int_t ldy, magma_int_t k1, magma_int_t k2, const magma_int_t *ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

ZLASWPX performs a series of row interchanges on the matrix A. More...
 
void magmablas_zlaswp2 (magma_int_t n, magmaDoubleComplex_ptr dAT, magma_int_t ldda, magma_int_t k1, magma_int_t k2, magmaInt_const_ptr d_ipiv, magma_int_t inci, magma_queue_t queue)
 

Purpose:

ZLASWP2 performs a series of row interchanges on the matrix A. More...
 

Detailed Description

Function Documentation

void magmablas_claswp ( magma_int_t  n,
magmaFloatComplex_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

CLASWP performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored row-wise (hence dAT). ** Otherwise, this is identical to LAPACK's interface.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dATCOMPLEX array on GPU, stored row-wise, dimension (LDDA,M) The M-by-N matrix, stored transposed as N-by-M matrix embedded in LDDA-by-M array. M is not given; it is implicit. On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]lddaINTEGER The leading dimension of the array A. ldda >= n.
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (Fortran one-based index: 1 <= k1.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (Fortran one-based index: 1 <= k2.)
[in]ipivINTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, INCI > 0. TODO: If INCI is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_claswpx ( magma_int_t  n,
magmaFloatComplex_ptr  dA,
magma_int_t  ldx,
magma_int_t  ldy,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

CLASWPX performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored either row-wise or column-wise, depending on ldx and ldy. ** Otherwise, this is identical to LAPACK's interface.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dACOMPLEX array on GPU, dimension (*,*) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]ldxINTEGER Stride between elements in same column.
[in]ldyINTEGER Stride between elements in same row. For A stored row-wise, set ldx=ldda and ldy=1. For A stored column-wise, set ldx=1 and ldy=ldda.
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
[in]ipivINTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_claswp2 ( magma_int_t  n,
magmaFloatComplex_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
magmaInt_const_ptr  d_ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

CLASWP2 performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored row-wise (hence dAT). ** Otherwise, this is identical to LAPACK's interface.

Here, d_ipiv is passed in GPU memory.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dATCOMPLEX array on GPU, stored row-wise, dimension (LDDA,*) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]lddaINTEGER The leading dimension of the array A. (I.e., stride between elements in a column.)
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
[in]d_ipivINTEGER array, on GPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_dlaswp ( magma_int_t  n,
magmaDouble_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

DLASWP performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored row-wise (hence dAT). ** Otherwise, this is identical to LAPACK's interface.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dATDOUBLE PRECISION array on GPU, stored row-wise, dimension (LDDA,M) The M-by-N matrix, stored transposed as N-by-M matrix embedded in LDDA-by-M array. M is not given; it is implicit. On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]lddaINTEGER The leading dimension of the array A. ldda >= n.
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (Fortran one-based index: 1 <= k1.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (Fortran one-based index: 1 <= k2.)
[in]ipivINTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, INCI > 0. TODO: If INCI is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_dlaswpx ( magma_int_t  n,
magmaDouble_ptr  dA,
magma_int_t  ldx,
magma_int_t  ldy,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

DLASWPX performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored either row-wise or column-wise, depending on ldx and ldy. ** Otherwise, this is identical to LAPACK's interface.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dADOUBLE PRECISION array on GPU, dimension (*,*) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]ldxINTEGER Stride between elements in same column.
[in]ldyINTEGER Stride between elements in same row. For A stored row-wise, set ldx=ldda and ldy=1. For A stored column-wise, set ldx=1 and ldy=ldda.
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
[in]ipivINTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_dlaswp2 ( magma_int_t  n,
magmaDouble_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
magmaInt_const_ptr  d_ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

DLASWP2 performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored row-wise (hence dAT). ** Otherwise, this is identical to LAPACK's interface.

Here, d_ipiv is passed in GPU memory.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dATDOUBLE PRECISION array on GPU, stored row-wise, dimension (LDDA,*) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]lddaINTEGER The leading dimension of the array A. (I.e., stride between elements in a column.)
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
[in]d_ipivINTEGER array, on GPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_dslaswp ( magma_int_t  n,
magmaDouble_ptr  A,
magma_int_t  lda,
magmaFloat_ptr  SA,
magma_int_t  ldsa,
magma_int_t  m,
const magma_int_t *  ipiv,
magma_int_t  incx,
magma_queue_t  queue 
)

Row i of A is cast to single precision in row ipiv[i] of SA (incx > 0), or row i of SA is cast to double precision in row ipiv[i] of A (incx < 0), for 0 <= i < M.

Parameters
[in]nINTEGER. On entry, N specifies the number of columns of the matrix A.
[in,out]ADOUBLE PRECISION array on the GPU, dimension (LDA,N) On entry, the M-by-N matrix to which the row interchanges will be applied. TODO update docs
[in]ldaINTEGER. LDA specifies the leading dimension of A.
[in,out]SAREAL array on the GPU, dimension (LDSA,N) On exit, the single precision, permuted matrix. TODO update docs
[in]ldsaINTEGER. LDSA specifies the leading dimension of SA.
[in]mThe number of rows to be interchanged.
[in]ipivINTEGER array on the GPU, dimension (M) The vector of pivot indices. Row i of A is cast to single precision in row ipiv[i] of SA, for 0 <= i < m.
[in]incxINTEGER If INCX is negative, the pivots are applied in reverse order, otherwise in straight-forward order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_slaswp ( magma_int_t  n,
magmaFloat_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

SLASWP performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored row-wise (hence dAT). ** Otherwise, this is identical to LAPACK's interface.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dATREAL array on GPU, stored row-wise, dimension (LDDA,M) The M-by-N matrix, stored transposed as N-by-M matrix embedded in LDDA-by-M array. M is not given; it is implicit. On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]lddaINTEGER The leading dimension of the array A. ldda >= n.
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (Fortran one-based index: 1 <= k1.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (Fortran one-based index: 1 <= k2.)
[in]ipivINTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, INCI > 0. TODO: If INCI is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_slaswpx ( magma_int_t  n,
magmaFloat_ptr  dA,
magma_int_t  ldx,
magma_int_t  ldy,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

SLASWPX performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored either row-wise or column-wise, depending on ldx and ldy. ** Otherwise, this is identical to LAPACK's interface.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dAREAL array on GPU, dimension (*,*) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]ldxINTEGER Stride between elements in same column.
[in]ldyINTEGER Stride between elements in same row. For A stored row-wise, set ldx=ldda and ldy=1. For A stored column-wise, set ldx=1 and ldy=ldda.
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
[in]ipivINTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_slaswp2 ( magma_int_t  n,
magmaFloat_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
magmaInt_const_ptr  d_ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

SLASWP2 performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored row-wise (hence dAT). ** Otherwise, this is identical to LAPACK's interface.

Here, d_ipiv is passed in GPU memory.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dATREAL array on GPU, stored row-wise, dimension (LDDA,*) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]lddaINTEGER The leading dimension of the array A. (I.e., stride between elements in a column.)
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
[in]d_ipivINTEGER array, on GPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_zclaswp ( magma_int_t  n,
magmaDoubleComplex_ptr  A,
magma_int_t  lda,
magmaFloatComplex_ptr  SA,
magma_int_t  ldsa,
magma_int_t  m,
const magma_int_t *  ipiv,
magma_int_t  incx,
magma_queue_t  queue 
)

Row i of A is cast to single precision in row ipiv[i] of SA (incx > 0), or row i of SA is cast to double precision in row ipiv[i] of A (incx < 0), for 0 <= i < M.

Parameters
[in]nINTEGER. On entry, N specifies the number of columns of the matrix A.
[in,out]ADOUBLE PRECISION array on the GPU, dimension (LDA,N) On entry, the M-by-N matrix to which the row interchanges will be applied. TODO update docs
[in]ldaINTEGER. LDA specifies the leading dimension of A.
[in,out]SAREAL array on the GPU, dimension (LDSA,N) On exit, the single precision, permuted matrix. TODO update docs
[in]ldsaINTEGER. LDSA specifies the leading dimension of SA.
[in]mThe number of rows to be interchanged.
[in]ipivINTEGER array on the GPU, dimension (M) The vector of pivot indices. Row i of A is cast to single precision in row ipiv[i] of SA, for 0 <= i < m.
[in]incxINTEGER If INCX is negative, the pivots are applied in reverse order, otherwise in straight-forward order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_zlaswp ( magma_int_t  n,
magmaDoubleComplex_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

ZLASWP performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored row-wise (hence dAT). ** Otherwise, this is identical to LAPACK's interface.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dATCOMPLEX*16 array on GPU, stored row-wise, dimension (LDDA,M) The M-by-N matrix, stored transposed as N-by-M matrix embedded in LDDA-by-M array. M is not given; it is implicit. On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]lddaINTEGER The leading dimension of the array A. ldda >= n.
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (Fortran one-based index: 1 <= k1.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (Fortran one-based index: 1 <= k2.)
[in]ipivINTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, INCI > 0. TODO: If INCI is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_zlaswpx ( magma_int_t  n,
magmaDoubleComplex_ptr  dA,
magma_int_t  ldx,
magma_int_t  ldy,
magma_int_t  k1,
magma_int_t  k2,
const magma_int_t *  ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

ZLASWPX performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored either row-wise or column-wise, depending on ldx and ldy. ** Otherwise, this is identical to LAPACK's interface.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dACOMPLEX*16 array on GPU, dimension (*,*) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]ldxINTEGER Stride between elements in same column.
[in]ldyINTEGER Stride between elements in same row. For A stored row-wise, set ldx=ldda and ldy=1. For A stored column-wise, set ldx=1 and ldy=ldda.
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
[in]ipivINTEGER array, on CPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.
void magmablas_zlaswp2 ( magma_int_t  n,
magmaDoubleComplex_ptr  dAT,
magma_int_t  ldda,
magma_int_t  k1,
magma_int_t  k2,
magmaInt_const_ptr  d_ipiv,
magma_int_t  inci,
magma_queue_t  queue 
)

Purpose:

ZLASWP2 performs a series of row interchanges on the matrix A.

One row interchange is initiated for each of rows K1 through K2 of A.

Unlike LAPACK, here A is stored row-wise (hence dAT). ** Otherwise, this is identical to LAPACK's interface.

Here, d_ipiv is passed in GPU memory.

Arguments:

Parameters
[in]nINTEGER The number of columns of the matrix A.
[in,out]dATCOMPLEX*16 array on GPU, stored row-wise, dimension (LDDA,*) On entry, the matrix of column dimension N to which the row interchanges will be applied. On exit, the permuted matrix.
[in]lddaINTEGER The leading dimension of the array A. (I.e., stride between elements in a column.)
[in]k1INTEGER The first element of IPIV for which a row interchange will be done. (One based index.)
[in]k2INTEGER The last element of IPIV for which a row interchange will be done. (One based index.)
[in]d_ipivINTEGER array, on GPU, dimension (K2*abs(INCI)) The vector of pivot indices. Only the elements in positions K1 through K2 of IPIV are accessed. IPIV(K) = L implies rows K and L are to be interchanged.
[in]inciINTEGER The increment between successive values of IPIV. Currently, IPIV > 0. TODO: If IPIV is negative, the pivots are applied in reverse order.
[in]queuemagma_queue_t Queue to execute in.