MAGMA 2.9.0
Matrix Algebra for GPU and Multicore Architectures
Loading...
Searching...
No Matches

\(\text{upper}(A) = \text{lower}(A)^T\) or \(\text{lower}(A) = \text{upper}(A)^T\) More...

Functions

void magmablas_csymmetrize_tiles (magma_uplo_t uplo, magma_int_t m, magmaFloatComplex_ptr dA, magma_int_t ldda, magma_int_t ntile, magma_int_t mstride, magma_int_t nstride, magma_queue_t queue)
 CSYMMETRIZE_TILES copies lower triangle to upper triangle, or vice-versa, to make some blocks of dA into general representations of a symmetric block.
 
void magmablas_dsymmetrize_tiles (magma_uplo_t uplo, magma_int_t m, magmaDouble_ptr dA, magma_int_t ldda, magma_int_t ntile, magma_int_t mstride, magma_int_t nstride, magma_queue_t queue)
 DSYMMETRIZE_TILES copies lower triangle to upper triangle, or vice-versa, to make some blocks of dA into general representations of a symmetric block.
 
void magmablas_ssymmetrize_tiles (magma_uplo_t uplo, magma_int_t m, magmaFloat_ptr dA, magma_int_t ldda, magma_int_t ntile, magma_int_t mstride, magma_int_t nstride, magma_queue_t queue)
 SSYMMETRIZE_TILES copies lower triangle to upper triangle, or vice-versa, to make some blocks of dA into general representations of a symmetric block.
 
void magmablas_zsymmetrize_tiles (magma_uplo_t uplo, magma_int_t m, magmaDoubleComplex_ptr dA, magma_int_t ldda, magma_int_t ntile, magma_int_t mstride, magma_int_t nstride, magma_queue_t queue)
 ZSYMMETRIZE_TILES copies lower triangle to upper triangle, or vice-versa, to make some blocks of dA into general representations of a symmetric block.
 

Detailed Description

\(\text{upper}(A) = \text{lower}(A)^T\) or \(\text{lower}(A) = \text{upper}(A)^T\)

Function Documentation

◆ magmablas_csymmetrize_tiles()

void magmablas_csymmetrize_tiles ( magma_uplo_t uplo,
magma_int_t m,
magmaFloatComplex_ptr dA,
magma_int_t ldda,
magma_int_t ntile,
magma_int_t mstride,
magma_int_t nstride,
magma_queue_t queue )

CSYMMETRIZE_TILES copies lower triangle to upper triangle, or vice-versa, to make some blocks of dA into general representations of a symmetric block.

In Complex, it sets the diagonal to be Real.

This processes NTILE blocks, typically the diagonal blocks. Each block is offset by mstride rows and nstride columns from the previous block.

Parameters
[in]uplomagma_uplo_t Specifies the part of the matrix dA that is valid on input.
  • = MagmaUpper: Upper triangular part
  • = MagmaLower: Lower triangular part
[in]mINTEGER The number of rows & columns of each square block of dA. M >= 0.
[in,out]dACOMPLEX array, dimension (LDDA,N) The matrix dA. N = m + nstride*(ntile-1).
[in]lddaINTEGER The leading dimension of the array dA. LDDA >= max(1, m + mstride*(ntile-1)).
[in]ntileINTEGER Number of blocks to symmetrize. ntile >= 0.
[in]mstrideINTEGER Row offset from start of one block to start of next block. mstride >= 0. Either (mstride >= m) or (nstride >= m), to prevent m-by-m tiles from overlapping.
[in]nstrideINTEGER Column offset from start of one block to start of next block. nstride >= 0.
[in]queuemagma_queue_t Queue to execute in.

◆ magmablas_dsymmetrize_tiles()

void magmablas_dsymmetrize_tiles ( magma_uplo_t uplo,
magma_int_t m,
magmaDouble_ptr dA,
magma_int_t ldda,
magma_int_t ntile,
magma_int_t mstride,
magma_int_t nstride,
magma_queue_t queue )

DSYMMETRIZE_TILES copies lower triangle to upper triangle, or vice-versa, to make some blocks of dA into general representations of a symmetric block.

In Complex, it sets the diagonal to be Real.

This processes NTILE blocks, typically the diagonal blocks. Each block is offset by mstride rows and nstride columns from the previous block.

Parameters
[in]uplomagma_uplo_t Specifies the part of the matrix dA that is valid on input.
  • = MagmaUpper: Upper triangular part
  • = MagmaLower: Lower triangular part
[in]mINTEGER The number of rows & columns of each square block of dA. M >= 0.
[in,out]dADOUBLE PRECISION array, dimension (LDDA,N) The matrix dA. N = m + nstride*(ntile-1).
[in]lddaINTEGER The leading dimension of the array dA. LDDA >= max(1, m + mstride*(ntile-1)).
[in]ntileINTEGER Number of blocks to symmetrize. ntile >= 0.
[in]mstrideINTEGER Row offset from start of one block to start of next block. mstride >= 0. Either (mstride >= m) or (nstride >= m), to prevent m-by-m tiles from overlapping.
[in]nstrideINTEGER Column offset from start of one block to start of next block. nstride >= 0.
[in]queuemagma_queue_t Queue to execute in.

◆ magmablas_ssymmetrize_tiles()

void magmablas_ssymmetrize_tiles ( magma_uplo_t uplo,
magma_int_t m,
magmaFloat_ptr dA,
magma_int_t ldda,
magma_int_t ntile,
magma_int_t mstride,
magma_int_t nstride,
magma_queue_t queue )

SSYMMETRIZE_TILES copies lower triangle to upper triangle, or vice-versa, to make some blocks of dA into general representations of a symmetric block.

In Complex, it sets the diagonal to be Real.

This processes NTILE blocks, typically the diagonal blocks. Each block is offset by mstride rows and nstride columns from the previous block.

Parameters
[in]uplomagma_uplo_t Specifies the part of the matrix dA that is valid on input.
  • = MagmaUpper: Upper triangular part
  • = MagmaLower: Lower triangular part
[in]mINTEGER The number of rows & columns of each square block of dA. M >= 0.
[in,out]dAREAL array, dimension (LDDA,N) The matrix dA. N = m + nstride*(ntile-1).
[in]lddaINTEGER The leading dimension of the array dA. LDDA >= max(1, m + mstride*(ntile-1)).
[in]ntileINTEGER Number of blocks to symmetrize. ntile >= 0.
[in]mstrideINTEGER Row offset from start of one block to start of next block. mstride >= 0. Either (mstride >= m) or (nstride >= m), to prevent m-by-m tiles from overlapping.
[in]nstrideINTEGER Column offset from start of one block to start of next block. nstride >= 0.
[in]queuemagma_queue_t Queue to execute in.

◆ magmablas_zsymmetrize_tiles()

void magmablas_zsymmetrize_tiles ( magma_uplo_t uplo,
magma_int_t m,
magmaDoubleComplex_ptr dA,
magma_int_t ldda,
magma_int_t ntile,
magma_int_t mstride,
magma_int_t nstride,
magma_queue_t queue )

ZSYMMETRIZE_TILES copies lower triangle to upper triangle, or vice-versa, to make some blocks of dA into general representations of a symmetric block.

In Complex, it sets the diagonal to be Real.

This processes NTILE blocks, typically the diagonal blocks. Each block is offset by mstride rows and nstride columns from the previous block.

Parameters
[in]uplomagma_uplo_t Specifies the part of the matrix dA that is valid on input.
  • = MagmaUpper: Upper triangular part
  • = MagmaLower: Lower triangular part
[in]mINTEGER The number of rows & columns of each square block of dA. M >= 0.
[in,out]dACOMPLEX_16 array, dimension (LDDA,N) The matrix dA. N = m + nstride*(ntile-1).
[in]lddaINTEGER The leading dimension of the array dA. LDDA >= max(1, m + mstride*(ntile-1)).
[in]ntileINTEGER Number of blocks to symmetrize. ntile >= 0.
[in]mstrideINTEGER Row offset from start of one block to start of next block. mstride >= 0. Either (mstride >= m) or (nstride >= m), to prevent m-by-m tiles from overlapping.
[in]nstrideINTEGER Column offset from start of one block to start of next block. nstride >= 0.
[in]queuemagma_queue_t Queue to execute in.