PaStiX Handbook
6.3.2

Functions  
static void  core_cgemmsp_1d1d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_complex32_t *C, pastix_complex32_t *work) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_cgemmsp_1d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_complex32_t *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_cgemmsp_2d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_complex32_t *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static pastix_fixdbl_t  core_cgemmsp_block_frfr (pastix_trans_t trans, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_complex32_t *C) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_cgemmsp_block_frlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_cgemmsp_block_lrlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_cgemmsp_fulllr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *A, const pastix_complex32_t *B, pastix_lrblock_t *lrC, pastix_complex32_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_cgemmsp_lr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, pastix_complex32_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_cgemmsp_lrfr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_complex32_t *C, pastix_complex32_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static void  core_zgemmsp_1d1d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_complex64_t *C, pastix_complex64_t *work) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_zgemmsp_1d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_complex64_t *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_zgemmsp_2d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_complex64_t *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static pastix_fixdbl_t  core_zgemmsp_block_frfr (pastix_trans_t trans, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_complex64_t *C) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_zgemmsp_block_frlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_zgemmsp_block_lrlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_zgemmsp_fulllr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *A, const pastix_complex64_t *B, pastix_lrblock_t *lrC, pastix_complex64_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_zgemmsp_lr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, pastix_complex64_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_zgemmsp_lrfr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_complex64_t *C, pastix_complex64_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static void  core_sgemmsp_1d1d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *A, const float *B, float *C, float *work) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_sgemmsp_1d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *A, const float *B, float *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_sgemmsp_2d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *A, const float *B, float *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static pastix_fixdbl_t  core_sgemmsp_block_frfr (pastix_trans_t trans, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const float *A, const float *B, float *C) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_sgemmsp_block_frlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const float *A, const float *B, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_sgemmsp_block_lrlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_sgemmsp_fulllr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *A, const float *B, pastix_lrblock_t *lrC, float *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_sgemmsp_lr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, float *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_sgemmsp_lrfr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, float *C, float *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static void  core_dgemmsp_1d1d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *A, const double *B, double *C, double *work) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_dgemmsp_1d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *A, const double *B, double *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static void  core_dgemmsp_2d2d (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *A, const double *B, double *C) 
Compute the updates that are generated by the transposition of one single offdiagonal block. More...  
static pastix_fixdbl_t  core_dgemmsp_block_frfr (pastix_trans_t trans, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const double *A, const double *B, double *C) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_dgemmsp_block_frlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const double *A, const double *B, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_dgemmsp_block_lrlr (pastix_trans_t transB, pastix_int_t blok_mk, pastix_int_t blok_kn, pastix_int_t blok_mn, const SolverCblk *cblk, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks. More...  
static pastix_fixdbl_t  core_dgemmsp_fulllr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *A, const double *B, pastix_lrblock_t *lrC, double *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_dgemmsp_lr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, pastix_lrblock_t *lrC, double *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static pastix_fixdbl_t  core_dgemmsp_lrfr (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_lrblock_t *lrA, const pastix_lrblock_t *lrB, double *C, double *work, pastix_int_t lwork, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block. More...  
static void  core_ctrsmsp_1d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_complex32_t *A, pastix_complex32_t *C) 
Apply all the trsm updates on a panel stored in 1D layout. More...  
static void  core_ctrsmsp_2d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_complex32_t *A, pastix_complex32_t *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_ctrsmsp_lr (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static pastix_fixdbl_t  core_ctrsmsp_2dsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_complex32_t *A, pastix_complex32_t *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_ctrsmsp_lrsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static void  core_ztrsmsp_1d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_complex64_t *A, pastix_complex64_t *C) 
Apply all the trsm updates on a panel stored in 1D layout. More...  
static void  core_ztrsmsp_2d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_complex64_t *A, pastix_complex64_t *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_ztrsmsp_lr (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static pastix_fixdbl_t  core_ztrsmsp_2dsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_complex64_t *A, pastix_complex64_t *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_ztrsmsp_lrsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static void  core_strsmsp_1d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const float *A, float *C) 
Apply all the trsm updates on a panel stored in 1D layout. More...  
static void  core_strsmsp_2d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const float *A, float *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_strsmsp_lr (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static pastix_fixdbl_t  core_strsmsp_2dsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const float *A, float *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_strsmsp_lrsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static void  core_dtrsmsp_1d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const double *A, double *C) 
Apply all the trsm updates on a panel stored in 1D layout. More...  
static void  core_dtrsmsp_2d (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const double *A, double *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_dtrsmsp_lr (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
static pastix_fixdbl_t  core_dtrsmsp_2dsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const double *A, double *C) 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D. More...  
static pastix_fixdbl_t  core_dtrsmsp_lrsub (pastix_side_t side, pastix_uplo_t uplo, pastix_trans_t trans, pastix_diag_t diag, const SolverCblk *cblk, pastix_int_t blok_m, const pastix_lrblock_t *lrA, pastix_lrblock_t *lrC, const pastix_lr_t *lowrank) 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format. More...  
void  core_csytrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex32_t *L, pastix_complex32_t *C, pastix_complex32_t *work) 
int  cpucblk_cpotrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the Cholesky factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_cpotrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, pastix_complex32_t *work, pastix_int_t lwork) 
Apply the updates of the cholesky factorisation of a given panel. More...  
int  cpucblk_csytrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the LDL^t factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_csytrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, pastix_complex32_t *work) 
Apply the updates of the LDL^t factorisation of a given panel. More...  
int  cpucblk_cgetrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the LU factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_cgetrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, pastix_complex32_t *work, pastix_int_t lwork) 
Apply the updates of the LU factorisation of a given panel. More...  
void  core_ssytrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const float *L, float *C, float *work) 
int  cpucblk_spotrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the Cholesky factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_spotrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, float *work, pastix_int_t lwork) 
Apply the updates of the cholesky factorisation of a given panel. More...  
int  cpucblk_ssytrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the LDL^t factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_ssytrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, float *work) 
Apply the updates of the LDL^t factorisation of a given panel. More...  
int  cpucblk_sgetrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the LU factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_sgetrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, float *work, pastix_int_t lwork) 
Apply the updates of the LU factorisation of a given panel. More...  
void  core_dsytrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const double *L, double *C, double *work) 
int  cpucblk_dpotrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the Cholesky factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_dpotrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, double *work, pastix_int_t lwork) 
Apply the updates of the cholesky factorisation of a given panel. More...  
int  cpucblk_dsytrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the LDL^t factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_dsytrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, double *work) 
Apply the updates of the LDL^t factorisation of a given panel. More...  
int  cpucblk_dgetrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the LU factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_dgetrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, double *work, pastix_int_t lwork) 
Apply the updates of the LU factorisation of a given panel. More...  
void  core_zsytrfsp1d_gemm (const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const pastix_complex64_t *L, pastix_complex64_t *C, pastix_complex64_t *work) 
int  cpucblk_zpotrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the Cholesky factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_zpotrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, pastix_complex64_t *work, pastix_int_t lwork) 
Apply the updates of the cholesky factorisation of a given panel. More...  
int  cpucblk_zsytrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the LDL^t factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_zsytrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, pastix_complex64_t *work) 
Apply the updates of the LDL^t factorisation of a given panel. More...  
int  cpucblk_zgetrfsp1dplus (SolverMatrix *solvmtx, SolverCblk *cblk) 
Perform the LU factorization of a given panel and submit tasks for the subsequent updates. More...  
void  cpucblk_zgetrfsp1dplus_update (SolverMatrix *solvmtx, SolverBlok *blok, pastix_complex64_t *work, pastix_int_t lwork) 
Apply the updates of the LU factorisation of a given panel. More...  
This module contains the three terms update functions for the LDL^t and LDL^h factorizations.

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the computation are stored with the 1D storage: Column Major Layout with blocks interleaved.
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer that is at least equal to the height of the block B by the sum of the height of all the blocks below the block B. 
Definition at line 106 of file core_cgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, pastix_int_t, PastixUCoef, and solver_cblk_s::stride.
Referenced by cpucblk_cgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
The cblk involved in the matrices A and B are stored with the 1D storage: Column Major Layout with blocks interleaved. The facing cblk of the atrix C, is stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 264 of file core_cgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, PastixUCoef, and solver_cblk_s::stride.
Referenced by cpucblk_cgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the matrices A, B and C are stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 404 of file core_cgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, and PastixUCoef.
Referenced by cpucblk_cgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to performed an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
[in]  trans  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 545 of file core_cgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, pastix_int_t, and PastixKernelGEMMBlok2d2d.
Referenced by cpublok_cgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 712 of file core_cgemmsp.c.
References core_clrmm_s::A, core_clrmm_s::alpha, core_clrmm_s::B, core_clrmm_s::beta, blok_rownbr(), core_clrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_clrmm_s::Cm, core_clrmm_s::Cn, solver_blok_s::coefind, core_clrmm(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), core_clrmm_s::K, kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, core_clrmm_s::lock, core_clrmm_s::lowrank, core_clrmm_s::lwork, core_clrmm_s::M, core_clrmm_s::N, core_clrmm_s::offx, core_clrmm_s::offy, pastix_int_t, PastixKernelGEMMBlok2d2d, PastixKernelGEMMBlokLRLR, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, core_clrmm_s::transA, core_clrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_clrmm_s::work.
Referenced by cpublok_cgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in,out]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 901 of file core_cgemmsp.c.
References core_clrmm_s::A, core_clrmm_s::alpha, core_clrmm_s::B, core_clrmm_s::beta, blok_rownbr(), core_clrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_clrmm_s::Cm, core_clrmm_s::Cn, core_clrmm(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), core_clrmm_s::K, kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, core_clrmm_s::lock, core_clrmm_s::lowrank, core_clrmm_s::lwork, core_clrmm_s::M, core_clrmm_s::N, core_clrmm_s::offx, core_clrmm_s::offy, pastix_int_t, PastixKernelGEMMBlok2d2d, PastixKernelGEMMBlokLRLR, PastixNoTrans, core_clrmm_s::transA, core_clrmm_s::transB, and core_clrmm_s::work.
Referenced by cpublok_cgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lwork  TODO 
[in]  lowrank  The structure with lowrank parameters. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 1074 of file core_cgemmsp.c.
References core_clrmm_s::A, core_clrmm_s::alpha, core_clrmm_s::B, core_clrmm_s::beta, blok_rownbr(), core_clrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_clrmm_s::Cm, core_clrmm_s::Cn, solver_blok_s::coefind, core_clrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_clrmm_s::K, solver_cblk_s::lock, core_clrmm_s::lock, core_clrmm_s::lowrank, core_clrmm_s::lwork, core_clrmm_s::M, core_clrmm_s::N, core_clrmm_s::offx, core_clrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, solver_cblk_s::stride, core_clrmm_s::transA, core_clrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_clrmm_s::work.
Referenced by cpucblk_cgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lwork  TODO 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1228 of file core_cgemmsp.c.
References core_clrmm_s::A, core_clrmm_s::alpha, core_clrmm_s::B, core_clrmm_s::beta, blok_rownbr(), core_clrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_clrmm_s::Cm, core_clrmm_s::Cn, core_clrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_clrmm_s::K, solver_cblk_s::lock, core_clrmm_s::lock, core_clrmm_s::lowrank, core_clrmm_s::lwork, core_clrmm_s::lwused, core_clrmm_s::M, core_clrmm_s::N, core_clrmm_s::offx, core_clrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, core_clrmm_s::transA, core_clrmm_s::transB, and core_clrmm_s::work.
Referenced by cpucblk_cgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer. 
[in]  lwork  The length of work. On entry, if trans = PastixTrans lwork >= max(1, K*N). Otherwise lwork >= max(1, M*K). 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1375 of file core_cgemmsp.c.
References core_clrmm_s::A, core_clrmm_s::alpha, core_clrmm_s::B, core_clrmm_s::beta, blok_rownbr(), core_clrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_clrmm_s::Cm, core_clrmm_s::Cn, solver_blok_s::coefind, core_clrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_clrmm_s::K, solver_cblk_s::lock, core_clrmm_s::lock, core_clrmm_s::lowrank, core_clrmm_s::lwork, core_clrmm_s::lwused, core_clrmm_s::M, core_clrmm_s::N, core_clrmm_s::offx, core_clrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, core_clrmm_s::transA, core_clrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_clrmm_s::work.
Referenced by cpucblk_cgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the computation are stored with the 1D storage: Column Major Layout with blocks interleaved.
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer that is at least equal to the height of the block B by the sum of the height of all the blocks below the block B. 
Definition at line 106 of file core_zgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, pastix_int_t, PastixUCoef, and solver_cblk_s::stride.
Referenced by cpucblk_zgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
The cblk involved in the matrices A and B are stored with the 1D storage: Column Major Layout with blocks interleaved. The facing cblk of the atrix C, is stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 264 of file core_zgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, PastixUCoef, and solver_cblk_s::stride.
Referenced by cpucblk_zgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the matrices A, B and C are stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 404 of file core_zgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, and PastixUCoef.
Referenced by cpucblk_zgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to performed an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
[in]  trans  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 545 of file core_zgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, pastix_int_t, and PastixKernelGEMMBlok2d2d.
Referenced by cpublok_zgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 712 of file core_zgemmsp.c.
References core_zlrmm_s::A, core_zlrmm_s::alpha, core_zlrmm_s::B, core_zlrmm_s::beta, blok_rownbr(), core_zlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_zlrmm_s::Cm, core_zlrmm_s::Cn, solver_blok_s::coefind, core_zlrmm(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), core_zlrmm_s::K, kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, core_zlrmm_s::lock, core_zlrmm_s::lowrank, core_zlrmm_s::lwork, core_zlrmm_s::M, core_zlrmm_s::N, core_zlrmm_s::offx, core_zlrmm_s::offy, pastix_int_t, PastixKernelGEMMBlok2d2d, PastixKernelGEMMBlokLRLR, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, core_zlrmm_s::transA, core_zlrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_zlrmm_s::work.
Referenced by cpublok_zgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixConjTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in,out]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 901 of file core_zgemmsp.c.
References core_zlrmm_s::A, core_zlrmm_s::alpha, core_zlrmm_s::B, core_zlrmm_s::beta, blok_rownbr(), core_zlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_zlrmm_s::Cm, core_zlrmm_s::Cn, core_zlrmm(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), core_zlrmm_s::K, kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, core_zlrmm_s::lock, core_zlrmm_s::lowrank, core_zlrmm_s::lwork, core_zlrmm_s::M, core_zlrmm_s::N, core_zlrmm_s::offx, core_zlrmm_s::offy, pastix_int_t, PastixKernelGEMMBlok2d2d, PastixKernelGEMMBlokLRLR, PastixNoTrans, core_zlrmm_s::transA, core_zlrmm_s::transB, and core_zlrmm_s::work.
Referenced by cpublok_zgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Hermitian cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lwork  TODO 
[in]  lowrank  The structure with lowrank parameters. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 1074 of file core_zgemmsp.c.
References core_zlrmm_s::A, core_zlrmm_s::alpha, core_zlrmm_s::B, core_zlrmm_s::beta, blok_rownbr(), core_zlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_zlrmm_s::Cm, core_zlrmm_s::Cn, solver_blok_s::coefind, core_zlrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_zlrmm_s::K, solver_cblk_s::lock, core_zlrmm_s::lock, core_zlrmm_s::lowrank, core_zlrmm_s::lwork, core_zlrmm_s::M, core_zlrmm_s::N, core_zlrmm_s::offx, core_zlrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, solver_cblk_s::stride, core_zlrmm_s::transA, core_zlrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_zlrmm_s::work.
Referenced by cpucblk_zgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lwork  TODO 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1228 of file core_zgemmsp.c.
References core_zlrmm_s::A, core_zlrmm_s::alpha, core_zlrmm_s::B, core_zlrmm_s::beta, blok_rownbr(), core_zlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_zlrmm_s::Cm, core_zlrmm_s::Cn, core_zlrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_zlrmm_s::K, solver_cblk_s::lock, core_zlrmm_s::lock, core_zlrmm_s::lowrank, core_zlrmm_s::lwork, core_zlrmm_s::lwused, core_zlrmm_s::M, core_zlrmm_s::N, core_zlrmm_s::offx, core_zlrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, core_zlrmm_s::transA, core_zlrmm_s::transB, and core_zlrmm_s::work.
Referenced by cpucblk_zgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer. 
[in]  lwork  The length of work. On entry, if trans = PastixTrans lwork >= max(1, K*N). Otherwise lwork >= max(1, M*K). 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1375 of file core_zgemmsp.c.
References core_zlrmm_s::A, core_zlrmm_s::alpha, core_zlrmm_s::B, core_zlrmm_s::beta, blok_rownbr(), core_zlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_zlrmm_s::Cm, core_zlrmm_s::Cn, solver_blok_s::coefind, core_zlrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_zlrmm_s::K, solver_cblk_s::lock, core_zlrmm_s::lock, core_zlrmm_s::lowrank, core_zlrmm_s::lwork, core_zlrmm_s::lwused, core_zlrmm_s::M, core_zlrmm_s::N, core_zlrmm_s::offx, core_zlrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, core_zlrmm_s::transA, core_zlrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_zlrmm_s::work.
Referenced by cpucblk_zgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the computation are stored with the 1D storage: Column Major Layout with blocks interleaved.
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer that is at least equal to the height of the block B by the sum of the height of all the blocks below the block B. 
Definition at line 106 of file core_sgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, pastix_int_t, PastixUCoef, and solver_cblk_s::stride.
Referenced by cpucblk_sgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
The cblk involved in the matrices A and B are stored with the 1D storage: Column Major Layout with blocks interleaved. The facing cblk of the atrix C, is stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 264 of file core_sgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, PastixUCoef, and solver_cblk_s::stride.
Referenced by cpucblk_sgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the matrices A, B and C are stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 404 of file core_sgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, and PastixUCoef.
Referenced by cpucblk_sgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to performed an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
[in]  trans  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 545 of file core_sgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, pastix_int_t, and PastixKernelGEMMBlok2d2d.
Referenced by cpublok_sgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 712 of file core_sgemmsp.c.
References core_slrmm_s::A, core_slrmm_s::alpha, core_slrmm_s::B, core_slrmm_s::beta, blok_rownbr(), core_slrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_slrmm_s::Cm, core_slrmm_s::Cn, solver_blok_s::coefind, core_slrmm(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), core_slrmm_s::K, kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, core_slrmm_s::lock, core_slrmm_s::lowrank, core_slrmm_s::lwork, core_slrmm_s::M, core_slrmm_s::N, core_slrmm_s::offx, core_slrmm_s::offy, pastix_int_t, PastixKernelGEMMBlok2d2d, PastixKernelGEMMBlokLRLR, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, core_slrmm_s::transA, core_slrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_slrmm_s::work.
Referenced by cpublok_sgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in,out]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 901 of file core_sgemmsp.c.
References core_slrmm_s::A, core_slrmm_s::alpha, core_slrmm_s::B, core_slrmm_s::beta, blok_rownbr(), core_slrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_slrmm_s::Cm, core_slrmm_s::Cn, core_slrmm(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), core_slrmm_s::K, kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, core_slrmm_s::lock, core_slrmm_s::lowrank, core_slrmm_s::lwork, core_slrmm_s::M, core_slrmm_s::N, core_slrmm_s::offx, core_slrmm_s::offy, pastix_int_t, PastixKernelGEMMBlok2d2d, PastixKernelGEMMBlokLRLR, PastixNoTrans, core_slrmm_s::transA, core_slrmm_s::transB, and core_slrmm_s::work.
Referenced by cpublok_sgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lwork  TODO 
[in]  lowrank  The structure with lowrank parameters. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 1074 of file core_sgemmsp.c.
References core_slrmm_s::A, core_slrmm_s::alpha, core_slrmm_s::B, core_slrmm_s::beta, blok_rownbr(), core_slrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_slrmm_s::Cm, core_slrmm_s::Cn, solver_blok_s::coefind, core_slrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_slrmm_s::K, solver_cblk_s::lock, core_slrmm_s::lock, core_slrmm_s::lowrank, core_slrmm_s::lwork, core_slrmm_s::M, core_slrmm_s::N, core_slrmm_s::offx, core_slrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, solver_cblk_s::stride, core_slrmm_s::transA, core_slrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_slrmm_s::work.
Referenced by cpucblk_sgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lwork  TODO 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1228 of file core_sgemmsp.c.
References core_slrmm_s::A, core_slrmm_s::alpha, core_slrmm_s::B, core_slrmm_s::beta, blok_rownbr(), core_slrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_slrmm_s::Cm, core_slrmm_s::Cn, core_slrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_slrmm_s::K, solver_cblk_s::lock, core_slrmm_s::lock, core_slrmm_s::lowrank, core_slrmm_s::lwork, core_slrmm_s::lwused, core_slrmm_s::M, core_slrmm_s::N, core_slrmm_s::offx, core_slrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, core_slrmm_s::transA, core_slrmm_s::transB, and core_slrmm_s::work.
Referenced by cpucblk_sgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer. 
[in]  lwork  The length of work. On entry, if trans = PastixTrans lwork >= max(1, K*N). Otherwise lwork >= max(1, M*K). 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1375 of file core_sgemmsp.c.
References core_slrmm_s::A, core_slrmm_s::alpha, core_slrmm_s::B, core_slrmm_s::beta, blok_rownbr(), core_slrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_slrmm_s::Cm, core_slrmm_s::Cn, solver_blok_s::coefind, core_slrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_slrmm_s::K, solver_cblk_s::lock, core_slrmm_s::lock, core_slrmm_s::lowrank, core_slrmm_s::lwork, core_slrmm_s::lwused, core_slrmm_s::M, core_slrmm_s::N, core_slrmm_s::offx, core_slrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, core_slrmm_s::transA, core_slrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_slrmm_s::work.
Referenced by cpucblk_sgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the computation are stored with the 1D storage: Column Major Layout with blocks interleaved.
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer that is at least equal to the height of the block B by the sum of the height of all the blocks below the block B. 
Definition at line 106 of file core_dgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, pastix_int_t, PastixUCoef, and solver_cblk_s::stride.
Referenced by cpucblk_dgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
The cblk involved in the matrices A and B are stored with the 1D storage: Column Major Layout with blocks interleaved. The facing cblk of the atrix C, is stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 264 of file core_dgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, PastixUCoef, and solver_cblk_s::stride.
Referenced by cpucblk_dgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of one single offdiagonal block.
Both cblk involved in the matrices A, B and C are stored with the 2D storage where each block is stored continuously one after another. (Similar to dense tile storage with variant tile size)
All the offdiagonal block below block are multiplied by the selected block and added to the facing cblk.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 404 of file core_dgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, and PastixUCoef.
Referenced by cpucblk_dgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to performed an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
[in]  trans  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 545 of file core_dgemmsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, pastix_int_t, and PastixKernelGEMMBlok2d2d.
Referenced by cpublok_dgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 712 of file core_dgemmsp.c.
References core_dlrmm_s::A, core_dlrmm_s::alpha, core_dlrmm_s::B, core_dlrmm_s::beta, blok_rownbr(), core_dlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_dlrmm_s::Cm, core_dlrmm_s::Cn, solver_blok_s::coefind, core_dlrmm(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), core_dlrmm_s::K, kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, core_dlrmm_s::lock, core_dlrmm_s::lowrank, core_dlrmm_s::lwork, core_dlrmm_s::M, core_dlrmm_s::N, core_dlrmm_s::offx, core_dlrmm_s::offy, pastix_int_t, PastixKernelGEMMBlok2d2d, PastixKernelGEMMBlokLRLR, PastixNoTrans, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, core_dlrmm_s::transA, core_dlrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_dlrmm_s::work.
Referenced by cpublok_dgemmsp().

inlinestatic 
Compute the updates that are generated by the transposition of all the blocks facing a common diagonal block, by another similar set of blocks.
This is used to perform an update:
C_mn = C_mn  A_mk * op(B_kn)
where A_mk is the set of blocks in cblk k, facing the diagonal block of the cblk m; B_kn is the set of blocks in cblk n facing the diagonal block of the cblk k; and C_mn is the set of blocks impacted by this update, it necessarily belongs to the set of block of the cblk n facing the diagonal block of the cblk m.
In this routine, all the matrices are lowrank
[in]  transB  Specify the transposition used for the B matrices. It has to be either PastixTrans or PastixTrans. 
[in]  blok_mk  Index of the first offdiagonal block in cblk, that is used for A. 
[in]  blok_kn  Index of the first offdiagonal block in cblk, that is used for B. 
[in]  blok_mn  Index of the first offdiagonal block in fcblk, that is used for C. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in,out]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 901 of file core_dgemmsp.c.
References core_dlrmm_s::A, core_dlrmm_s::alpha, core_dlrmm_s::B, core_dlrmm_s::beta, blok_rownbr(), core_dlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_dlrmm_s::Cm, core_dlrmm_s::Cn, core_dlrmm(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::inlast, is_block_inside_fblock(), core_dlrmm_s::K, kernel_trace_start(), kernel_trace_stop(), solver_blok_s::lcblknm, core_dlrmm_s::lock, core_dlrmm_s::lowrank, core_dlrmm_s::lwork, core_dlrmm_s::M, core_dlrmm_s::N, core_dlrmm_s::offx, core_dlrmm_s::offy, pastix_int_t, PastixKernelGEMMBlok2d2d, PastixKernelGEMMBlokLRLR, PastixNoTrans, core_dlrmm_s::transA, core_dlrmm_s::transB, and core_dlrmm_s::work.
Referenced by cpublok_dgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  B  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel, if Symmetric/Symmetric cases or if upper part is computed; cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lwork  TODO 
[in]  lowrank  The structure with lowrank parameters. 
Add contribution to C in fcblk: Get the first facing block of the distant panel, and the last block of the current cblk
Definition at line 1074 of file core_dgemmsp.c.
References core_dlrmm_s::A, core_dlrmm_s::alpha, core_dlrmm_s::B, core_dlrmm_s::beta, blok_rownbr(), core_dlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_dlrmm_s::Cm, core_dlrmm_s::Cn, solver_blok_s::coefind, core_dlrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_dlrmm_s::K, solver_cblk_s::lock, core_dlrmm_s::lock, core_dlrmm_s::lowrank, core_dlrmm_s::lwork, core_dlrmm_s::M, core_dlrmm_s::N, core_dlrmm_s::offx, core_dlrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, solver_cblk_s::stride, core_dlrmm_s::transA, core_dlrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_dlrmm_s::work.
Referenced by cpucblk_dgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in]  work  Temporary memory buffer. 
[in]  lwork  TODO 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1228 of file core_dgemmsp.c.
References core_dlrmm_s::A, core_dlrmm_s::alpha, core_dlrmm_s::B, core_dlrmm_s::beta, blok_rownbr(), core_dlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_dlrmm_s::Cm, core_dlrmm_s::Cn, core_dlrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_dlrmm_s::K, solver_cblk_s::lock, core_dlrmm_s::lock, core_dlrmm_s::lowrank, core_dlrmm_s::lwork, core_dlrmm_s::lwused, core_dlrmm_s::M, core_dlrmm_s::N, core_dlrmm_s::offx, core_dlrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, core_dlrmm_s::transA, core_dlrmm_s::transB, and core_dlrmm_s::work.
Referenced by cpucblk_dgemmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block.
[in]  sideA  Specify if A and C belong to the lower part, or to the upper part. If sideA == PastixLCoef, the contribution of: (block .. (cblk[1].fblokptr1)) by block is computed and added to C, otherwise the contribution: (block+1 .. (cblk[1].fblokptr1)) by block is computed and added to C. 
[in]  trans  Specify the transposition used for the B matrix. It has to be either PastixTrans or PastixTrans. 
[in]  cblk  The cblk structure to which block belongs to. The A and B pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok  The block from which we compute the contributions. 
[in,out]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. The C pointer must be one of the coeftab from this fcblk. Next column blok must be accessible through fcblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrB  Pointer to the lowrank representation of the block B. Must be followed by the lowrank representation of the following blocks. 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
[in]  work  Temporary memory buffer. 
[in]  lwork  The length of work. On entry, if trans = PastixTrans lwork >= max(1, K*N). Otherwise lwork >= max(1, M*K). 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 1375 of file core_dgemmsp.c.
References core_dlrmm_s::A, core_dlrmm_s::alpha, core_dlrmm_s::B, core_dlrmm_s::beta, blok_rownbr(), core_dlrmm_s::C, cblk_colnbr(), solver_cblk_s::cblktype, core_dlrmm_s::Cm, core_dlrmm_s::Cn, solver_blok_s::coefind, core_dlrmm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), core_dlrmm_s::K, solver_cblk_s::lock, core_dlrmm_s::lock, core_dlrmm_s::lowrank, core_dlrmm_s::lwork, core_dlrmm_s::lwused, core_dlrmm_s::M, core_dlrmm_s::N, core_dlrmm_s::offx, core_dlrmm_s::offy, pastix_int_t, PastixNoTrans, PastixUCoef, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, core_dlrmm_s::transA, core_dlrmm_s::transB, pastix_lrblock_s::u, pastix_lrblock_s::v, and core_dlrmm_s::work.
Referenced by cpucblk_dgemmsp().

inlinestatic 
Apply all the trsm updates on a panel stored in 1D layout.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 72 of file core_ctrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_int_t, and solver_cblk_s::stride.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 149 of file core_ctrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, and pastix_int_t.

inlinestatic 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 233 of file core_ctrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, pastix_lr_s::compress_min_height, pastix_lr_s::compress_min_width, pastix_lr_s::compress_preselect, cpublok_ccompress(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, pastix_lr_s::ilu_lvl, solver_blok_s::iluklvl, solver_cblk_s::lcolnum, pastix_int_t, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
TODO 
Definition at line 452 of file core_ctrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::inlast, kernel_trace_start(), kernel_trace_stop(), solver_cblk_s::lcolnum, pastix_int_t, and PastixKernelTRSMBlok2d.
Referenced by cpublok_ctrsmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
TODO 
Definition at line 554 of file core_ctrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, pastix_lr_s::compress_min_height, pastix_lr_s::compress_min_width, pastix_lr_s::compress_preselect, cpublok_ccompress(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, pastix_lr_s::ilu_lvl, solver_blok_s::iluklvl, solver_blok_s::inlast, kernel_trace_start(), kernel_trace_stop(), solver_cblk_s::lcolnum, pastix_int_t, PastixKernelTRSMBlokLR, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
Referenced by cpublok_ctrsmsp().

inlinestatic 
Apply all the trsm updates on a panel stored in 1D layout.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 72 of file core_ztrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_int_t, and solver_cblk_s::stride.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 149 of file core_ztrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, and pastix_int_t.

inlinestatic 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 233 of file core_ztrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, pastix_lr_s::compress_min_height, pastix_lr_s::compress_min_width, pastix_lr_s::compress_preselect, cpublok_zcompress(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, pastix_lr_s::ilu_lvl, solver_blok_s::iluklvl, solver_cblk_s::lcolnum, pastix_int_t, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
TODO 
Definition at line 452 of file core_ztrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::inlast, kernel_trace_start(), kernel_trace_stop(), solver_cblk_s::lcolnum, pastix_int_t, and PastixKernelTRSMBlok2d.
Referenced by cpublok_ztrsmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixConjTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
TODO 
Definition at line 554 of file core_ztrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, pastix_lr_s::compress_min_height, pastix_lr_s::compress_min_width, pastix_lr_s::compress_preselect, cpublok_zcompress(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, pastix_lr_s::ilu_lvl, solver_blok_s::iluklvl, solver_blok_s::inlast, kernel_trace_start(), kernel_trace_stop(), solver_cblk_s::lcolnum, pastix_int_t, PastixKernelTRSMBlokLR, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
Referenced by cpublok_ztrsmsp().

inlinestatic 
Apply all the trsm updates on a panel stored in 1D layout.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 72 of file core_strsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_int_t, and solver_cblk_s::stride.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 149 of file core_strsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, and pastix_int_t.

inlinestatic 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 233 of file core_strsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, pastix_lr_s::compress_min_height, pastix_lr_s::compress_min_width, pastix_lr_s::compress_preselect, cpublok_scompress(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, pastix_lr_s::ilu_lvl, solver_blok_s::iluklvl, solver_cblk_s::lcolnum, pastix_int_t, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
TODO 
Definition at line 452 of file core_strsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::inlast, kernel_trace_start(), kernel_trace_stop(), solver_cblk_s::lcolnum, pastix_int_t, and PastixKernelTRSMBlok2d.
Referenced by cpublok_strsmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
TODO 
Definition at line 554 of file core_strsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, pastix_lr_s::compress_min_height, pastix_lr_s::compress_min_width, pastix_lr_s::compress_preselect, cpublok_scompress(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, pastix_lr_s::ilu_lvl, solver_blok_s::iluklvl, solver_blok_s::inlast, kernel_trace_start(), kernel_trace_stop(), solver_cblk_s::lcolnum, pastix_int_t, PastixKernelTRSMBlokLR, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
Referenced by cpublok_strsmsp().

inlinestatic 
Apply all the trsm updates on a panel stored in 1D layout.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 72 of file core_dtrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, pastix_int_t, and solver_cblk_s::stride.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
Definition at line 149 of file core_dtrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_cblk_s::lcolnum, and pastix_int_t.

inlinestatic 
Computes the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
Definition at line 233 of file core_dtrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, pastix_lr_s::compress_min_height, pastix_lr_s::compress_min_width, pastix_lr_s::compress_preselect, cpublok_dcompress(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, pastix_lr_s::ilu_lvl, solver_blok_s::iluklvl, solver_cblk_s::lcolnum, pastix_int_t, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, and pastix_lrblock_s::u.

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in 2D.
[in]  side  Specify whether the A matrix appears on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the A matrix is upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the A matrix. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the A matrix is unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  A  The pointer to the coeftab of the cblk.lcoeftab matrix storing the coefficients of the panel when the Lower part is computed, cblk.ucoeftab otherwise. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the fcblk.lcoeftab if the lower part is computed, fcblk.ucoeftab otherwise. 
TODO 
Definition at line 452 of file core_dtrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, solver_blok_s::inlast, kernel_trace_start(), kernel_trace_stop(), solver_cblk_s::lcolnum, pastix_int_t, and PastixKernelTRSMBlok2d.
Referenced by cpublok_dtrsmsp().

inlinestatic 
Compute the updates associated to one offdiagonal block between two cblk stored in lowrank format.
[in]  side  Specify whether the offdiagonal blocks appear on the left or right in the equation. It has to be either PastixLeft or PastixRight. 
[in]  uplo  Specify whether the offdiagonal blocks are upper or lower triangular. It has to be either PastixUpper or PastixLower. 
[in]  trans  Specify the transposition used for the offdiagonal blocks. It has to be either PastixTrans or PastixTrans. 
[in]  diag  Specify if the offdiagonal blocks are unit triangular. It has to be either PastixUnit or PastixNonUnit. 
[in]  cblk  The cblk structure to which block belongs to. The A and C pointers must be the coeftab of this column block. Next column blok must be accessible through cblk[1]. 
[in]  blok_m  Index of the first offdiagonal block in cblk that is solved. The TRSM is also applied to all the folowing blocks which are facing the same diagonal block 
[in]  lrA  Pointer to the lowrank representation of the block A. Must be followed by the lowrank representation of the following blocks. 
[in,out]  lrC  Pointer to the lowrank representation of the block C. Must be followed by the lowrank representation of the following blocks. 
[in]  lowrank  The structure with lowrank parameters. 
TODO 
Definition at line 554 of file core_dtrsmsp.c.
References blok_rownbr(), solver_cblk_s::cblktype, pastix_lr_s::compress_min_height, pastix_lr_s::compress_min_width, pastix_lr_s::compress_preselect, cpublok_dcompress(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_cblk_s::fcolnum, pastix_lr_s::ilu_lvl, solver_blok_s::iluklvl, solver_blok_s::inlast, kernel_trace_start(), kernel_trace_stop(), solver_cblk_s::lcolnum, pastix_int_t, PastixKernelTRSMBlokLR, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.
Referenced by cpublok_dtrsmsp().
void core_csytrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const pastix_complex32_t *  L,  
pastix_complex32_t *  C,  
pastix_complex32_t *  work  
) 
core_csytrfsp1d_gemm  Computes the LDL^t factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_cgemdm(). 
Definition at line 316 of file core_csytrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, core_cgemdm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, PASTIX_SUCCESS, PastixConjTrans, PastixNoTrans, and solver_cblk_s::stride.
Referenced by cpucblk_csytrfsp1d(), and cpucblk_csytrfsp1dplus_update().
int cpucblk_cpotrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the Cholesky factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 391 of file core_cpotrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_cpotrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_cpotrf_dynamic().
void cpucblk_cpotrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
pastix_complex32_t *  work,  
pastix_int_t  lwork  
) 
Apply the updates of the cholesky factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 444 of file core_cpotrfsp.c.
References cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_calloc(), cpucblk_cgemmsp(), cpucblk_crelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_matrix_s::lowrank, PastixConjTrans, and PastixLCoef.
Referenced by thread_cpotrf_dynamic().
int cpucblk_csytrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the LDL^t factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 566 of file core_csytrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_csytrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_csytrf_dynamic().
void cpucblk_csytrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
pastix_complex32_t *  work  
) 
Apply the updates of the LDL^t factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 619 of file core_csytrfsp.c.
References cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, core_csytrfsp1d_gemm(), cpucblk_calloc(), cpucblk_crelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_cblk_s::lcoeftab, and PastixLCoef.
Referenced by thread_csytrf_dynamic().
int cpucblk_cgetrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the LU factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 421 of file core_cgetrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), cblk_getdataU(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_cgetrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_cgetrf_dynamic().
void cpucblk_cgetrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
pastix_complex32_t *  work,  
pastix_int_t  lwork  
) 
Apply the updates of the LU factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 475 of file core_cgetrfsp.c.
References cblk_getdataL(), cblk_getdataU(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_calloc(), cpucblk_cgemmsp(), cpucblk_crelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_matrix_s::lowrank, PastixLCoef, PastixLUCoef, PastixTrans, and PastixUCoef.
Referenced by thread_cgetrf_dynamic().
void core_ssytrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const float *  L,  
float *  C,  
float *  work  
) 
core_ssytrfsp1d_gemm  Computes the LDL^t factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_sgemdm(). 
Definition at line 316 of file core_ssytrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, core_sgemdm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, PASTIX_SUCCESS, PastixNoTrans, PastixTrans, and solver_cblk_s::stride.
Referenced by cpucblk_ssytrfsp1d(), and cpucblk_ssytrfsp1dplus_update().
int cpucblk_spotrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the Cholesky factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 391 of file core_spotrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_spotrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_spotrf_dynamic().
void cpucblk_spotrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
float *  work,  
pastix_int_t  lwork  
) 
Apply the updates of the cholesky factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 444 of file core_spotrfsp.c.
References cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_salloc(), cpucblk_sgemmsp(), cpucblk_srelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_matrix_s::lowrank, PastixLCoef, and PastixTrans.
Referenced by thread_spotrf_dynamic().
int cpucblk_ssytrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the LDL^t factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 566 of file core_ssytrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_ssytrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_ssytrf_dynamic().
void cpucblk_ssytrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
float *  work  
) 
Apply the updates of the LDL^t factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 619 of file core_ssytrfsp.c.
References cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, core_ssytrfsp1d_gemm(), cpucblk_salloc(), cpucblk_srelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_cblk_s::lcoeftab, and PastixLCoef.
Referenced by thread_ssytrf_dynamic().
int cpucblk_sgetrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the LU factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 421 of file core_sgetrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), cblk_getdataU(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_sgetrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_sgetrf_dynamic().
void cpucblk_sgetrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
float *  work,  
pastix_int_t  lwork  
) 
Apply the updates of the LU factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 475 of file core_sgetrfsp.c.
References cblk_getdataL(), cblk_getdataU(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_salloc(), cpucblk_sgemmsp(), cpucblk_srelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_matrix_s::lowrank, PastixLCoef, PastixLUCoef, PastixTrans, and PastixUCoef.
Referenced by thread_sgetrf_dynamic().
void core_dsytrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const double *  L,  
double *  C,  
double *  work  
) 
core_dsytrfsp1d_gemm  Computes the LDL^t factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_dgemdm(). 
Definition at line 316 of file core_dsytrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, core_dgemdm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, PASTIX_SUCCESS, PastixNoTrans, PastixTrans, and solver_cblk_s::stride.
Referenced by cpucblk_dsytrfsp1d(), and cpucblk_dsytrfsp1dplus_update().
int cpucblk_dpotrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the Cholesky factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 391 of file core_dpotrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_dpotrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_dpotrf_dynamic().
void cpucblk_dpotrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
double *  work,  
pastix_int_t  lwork  
) 
Apply the updates of the cholesky factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 444 of file core_dpotrfsp.c.
References cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_dalloc(), cpucblk_dgemmsp(), cpucblk_drelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_matrix_s::lowrank, PastixLCoef, and PastixTrans.
Referenced by thread_dpotrf_dynamic().
int cpucblk_dsytrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the LDL^t factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 566 of file core_dsytrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_dsytrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_dsytrf_dynamic().
void cpucblk_dsytrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
double *  work  
) 
Apply the updates of the LDL^t factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 619 of file core_dsytrfsp.c.
References cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, core_dsytrfsp1d_gemm(), cpucblk_dalloc(), cpucblk_drelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_cblk_s::lcoeftab, and PastixLCoef.
Referenced by thread_dsytrf_dynamic().
int cpucblk_dgetrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the LU factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 421 of file core_dgetrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), cblk_getdataU(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_dgetrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_dgetrf_dynamic().
void cpucblk_dgetrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
double *  work,  
pastix_int_t  lwork  
) 
Apply the updates of the LU factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 475 of file core_dgetrfsp.c.
References cblk_getdataL(), cblk_getdataU(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_dalloc(), cpucblk_dgemmsp(), cpucblk_drelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_matrix_s::lowrank, PastixLCoef, PastixLUCoef, PastixTrans, and PastixUCoef.
Referenced by thread_dgetrf_dynamic().
void core_zsytrfsp1d_gemm  (  const SolverCblk *  cblk, 
const SolverBlok *  blok,  
SolverCblk *  fcblk,  
const pastix_complex64_t *  L,  
pastix_complex64_t *  C,  
pastix_complex64_t *  work  
) 
core_zsytrfsp1d_gemm  Computes the LDL^t factorization of one panel and apply all the trsm updates to this panel.
[in]  cblk  The pointer to the data structure that describes the panel from which we compute the contributions. Next column blok must be accessible through cblk[1]. 
[in]  blok  The pointer to the data structure that describes the blok from which we compute the contributions. 
[in]  fcblk  The pointer to the data structure that describes the panel on which we compute the contributions. Next column blok must be accessible through fcblk[1]. 
[in,out]  L  The pointer to the matrix storing the coefficients of the panel. Must be of size cblk.stride by cblk.width 
[in,out]  C  The pointer to the matrix storing the coefficients of the target. 
[in,out]  work  Temporary buffer used in core_zgemdm(). 
Definition at line 316 of file core_zsytrfsp.c.
References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_blok_s::coefind, core_zgemdm(), solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, is_block_inside_fblock(), pastix_int_t, PASTIX_SUCCESS, PastixConjTrans, PastixNoTrans, and solver_cblk_s::stride.
Referenced by cpucblk_zsytrfsp1d(), and cpucblk_zsytrfsp1dplus_update().
int cpucblk_zpotrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the Cholesky factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 391 of file core_zpotrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_zpotrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_zpotrf_dynamic().
void cpucblk_zpotrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
pastix_complex64_t *  work,  
pastix_int_t  lwork  
) 
Apply the updates of the cholesky factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 444 of file core_zpotrfsp.c.
References cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_zalloc(), cpucblk_zgemmsp(), cpucblk_zrelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_matrix_s::lowrank, PastixConjTrans, and PastixLCoef.
Referenced by thread_zpotrf_dynamic().
int cpucblk_zsytrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the LDL^t factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 566 of file core_zsytrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_zsytrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_zsytrf_dynamic().
void cpucblk_zsytrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
pastix_complex64_t *  work  
) 
Apply the updates of the LDL^t factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 619 of file core_zsytrfsp.c.
References cblk_getdataL(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, core_zsytrfsp1d_gemm(), cpucblk_zalloc(), cpucblk_zrelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_cblk_s::lcoeftab, and PastixLCoef.
Referenced by thread_zsytrf_dynamic().
int cpucblk_zgetrfsp1dplus  (  SolverMatrix *  solvmtx, 
SolverCblk *  cblk  
) 
Perform the LU factorization of a given panel and submit tasks for the subsequent updates.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  cblk  Pointer to the structure representing the panel to factorize in the cblktab array. Next column blok must be accessible through cblk[1]. 
Definition at line 421 of file core_zgetrfsp.c.
References solver_matrix_s::bloktab, cblk_getdataL(), cblk_getdataU(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_zgetrfsp1d_panel(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pqueuePush1(), solver_cblk_s::priority, and solver_cblk_s::threadid.
Referenced by thread_zgetrf_dynamic().
void cpucblk_zgetrfsp1dplus_update  (  SolverMatrix *  solvmtx, 
SolverBlok *  blok,  
pastix_complex64_t *  work,  
pastix_int_t  lwork  
) 
Apply the updates of the LU factorisation of a given panel.
[in]  solvmtx  Solver Matrix structure of the problem 
[in]  blok  Pointer to the blok where the update start. 
[in]  work  Temporary memory buffer. 
[in]  lwork  Temporary workspace dimension. 
Definition at line 475 of file core_zgetrfsp.c.
References cblk_getdataL(), cblk_getdataU(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_zalloc(), cpucblk_zgemmsp(), cpucblk_zrelease_deps(), solver_cblk_s::fblokptr, solver_blok_s::fcblknm, solver_blok_s::lcblknm, solver_matrix_s::lowrank, PastixLCoef, PastixLUCoef, PastixTrans, and PastixUCoef.
Referenced by thread_zgetrf_dynamic().