PaStiX Handbook  6.3.2
core_cgemmsp.c File Reference
#include "common.h"
#include "cblas.h"
#include "blend/solver.h"
#include "kernels_trace.h"
#include "pastix_ccores.h"
#include "pastix_clrcores.h"

Go to the source code of this file.

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 off-diagonal 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 off-diagonal 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 off-diagonal 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 off-diagonal 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 off-diagonal 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 off-diagonal block. More...
 
pastix_fixdbl_t cpucblk_cgemmsp (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const void *A, const void *B, void *C, pastix_complex32_t *work, pastix_int_t lwork, const pastix_lr_t *lowrank)
 Compute the updates associated to one off-diagonal block. More...
 
pastix_fixdbl_t cpublok_cgemmsp (pastix_trans_t transB, const SolverCblk *cblk, SolverCblk *fcblk, pastix_int_t blok_mk, pastix_int_t blok_nk, pastix_int_t blok_mn, const void *A, const void *B, void *C, const pastix_lr_t *lowrank)
 Compute the CPU gemm associated to a couple of off-diagonal blocks. More...
 

Detailed Description

PaStiX kernel routines operating on the solver structure.

Version
6.3.2
Author
Mathieu Faverge
Pierre Ramet
Xavier Lacoste
Gregoire Pichon
Nolan Bredel
Alycia Lisito
Tom Moenne-Loccoz
Date
2023-12-01
Generated arithmetic file
from /builds/solverstack/pastix/kernels/core_zgemmsp.c, normal z -> c, Wed Dec 13 12:09:11 2023

Definition in file core_cgemmsp.c.