MAGMA  1.5.0
Matrix Algebra for GPU and Multicore Architectures
 All Files Functions Groups
single-complex precision

Functions

magma_int_t magma_cgessm_gpu (magma_order_t order, magma_int_t m, magma_int_t n, magma_int_t k, magma_int_t ib, magma_int_t *ipiv, magmaFloatComplex *dL1, magma_int_t lddl1, magmaFloatComplex *dL, magma_int_t lddl, magmaFloatComplex *dA, magma_int_t ldda, magma_int_t *info)
 CGESSM applies the factors L computed by CGETRF_INCPIV to a complex M-by-N tile A. More...
 
magma_int_t magma_cssssm_gpu (magma_order_t order, magma_int_t m1, magma_int_t n1, magma_int_t m2, magma_int_t n2, magma_int_t k, magma_int_t ib, magmaFloatComplex *dA1, magma_int_t ldda1, magmaFloatComplex *dA2, magma_int_t ldda2, magmaFloatComplex *dL1, magma_int_t lddl1, magmaFloatComplex *dL2, magma_int_t lddl2, magma_int_t *ipiv, magma_int_t *info)
 CSSSSM applies the LU factorization update from a complex matrix formed by a lower triangular IB-by-K tile L1 on top of a M2-by-K tile L2 to a second complex matrix formed by a M1-by-N1 tile A1 on top of a M2-by-N2 tile A2 (N1 == N2). More...
 

Detailed Description

Function Documentation

magma_int_t magma_cgessm_gpu ( magma_order_t  order,
magma_int_t  m,
magma_int_t  n,
magma_int_t  k,
magma_int_t  ib,
magma_int_t *  ipiv,
magmaFloatComplex *  dL1,
magma_int_t  lddl1,
magmaFloatComplex *  dL,
magma_int_t  lddl,
magmaFloatComplex *  dA,
magma_int_t  ldda,
magma_int_t *  info 
)

CGESSM applies the factors L computed by CGETRF_INCPIV to a complex M-by-N tile A.

Parameters
[in]mINTEGER The number of rows of the matrix A. M >= 0.
[in]nINTEGER The number of columns of the matrix A. N >= 0.
[in]kINTEGER The number of columns of the matrix L. K >= 0.
[in]ibINTEGER The inner-blocking size. IB >= 0.
[in]ipivINTEGER array on the cpu. The pivot indices array of size K as returned by CGETRF_INCPIV.
[in]dL1DOUBLE COMPLEX array, dimension(LDDL1, N) The IB-by-K matrix in which is stored L^(-1) as returned by GETRF_INCPIV
[in]lddl1INTEGER The leading dimension of the array L1. LDDL1 >= max(1,2*IB).
[in]dLDOUBLE COMPLEX array, dimension(LDDL, N) The M-by-K lower triangular tile on the gpu.
[in]lddlINTEGER The leading dimension of the array L. LDDL >= max(1,M).
[in,out]dADOUBLE COMPLEX array, dimension (LDDA, N) On entry, the M-by-N tile A on the gpu. On exit, updated by the application of L on the gpu.
[in]lddaINTEGER The leading dimension of the array A. LDDA >= max(1,M).
magma_int_t magma_cssssm_gpu ( magma_order_t  order,
magma_int_t  m1,
magma_int_t  n1,
magma_int_t  m2,
magma_int_t  n2,
magma_int_t  k,
magma_int_t  ib,
magmaFloatComplex *  dA1,
magma_int_t  ldda1,
magmaFloatComplex *  dA2,
magma_int_t  ldda2,
magmaFloatComplex *  dL1,
magma_int_t  lddl1,
magmaFloatComplex *  dL2,
magma_int_t  lddl2,
magma_int_t *  ipiv,
magma_int_t *  info 
)

CSSSSM applies the LU factorization update from a complex matrix formed by a lower triangular IB-by-K tile L1 on top of a M2-by-K tile L2 to a second complex matrix formed by a M1-by-N1 tile A1 on top of a M2-by-N2 tile A2 (N1 == N2).

This is the right-looking Level 2.5 BLAS version of the algorithm.

Parameters
[in]m1INTEGER The number of rows of the matrix A1. M1 >= 0.
[in]n1INTEGER The number of columns of the matrix A1. N1 >= 0.
[in]m2INTEGER The number of rows of the matrix A2. M2 >= 0.
[in]n2INTEGER The number of columns of the matrix A2. N2 >= 0.
[in]kINTEGER The number of columns of the matrix L1 and L2. K >= 0.
[in]ibINTEGER The inner-blocking size. IB >= 0.
[in,out]dA1COMPLEX array, dimension(LDDA1, N), on gpu. On entry, the M1-by-N1 tile dA1. On exit, dA1 is updated by the application of dL (dL1 dL2).
[in]ldda1INTEGER The leading dimension of the array dA1. LDDA1 >= max(1,M1).
[in,out]dA2COMPLEX array, dimension(LDDA2, N), on gpu. On entry, the M2-by-N2 tile dA2. On exit, dA2 is updated by the application of dL (dL1 dL2).
[in]ldda2INTEGER The leading dimension of the array dA2. LDDA2 >= max(1,M2).
[in]dL1COMPLEX array, dimension(LDDL1, K), on gpu. The inverse of the IB-by-K lower triangular tile as returned by CTSTRF.
[in]lddl1INTEGER The leading dimension of the array L1. LDDL1 >= max(1,2*IB).
[in]dL2COMPLEX array, dimension(LDDL2, K) The M2-by-K tile as returned by CTSTRF.
[in]lddl2INTEGER The leading dimension of the array L2. LDDL2 >= max(1,M2).
[in]ipivINTEGER array on the cpu. The pivot indices array of size K as returned by CTSTRF