PaStiX Handbook  6.2.1
core_dgemmsp.c File Reference
#include "common.h"
#include "cblas.h"
#include "blend/solver.h"
#include "kernels_trace.h"
#include "pastix_dcores.h"
#include "pastix_dlrcores.h"

Go to the source code of this file.

Functions

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 off-diagonal 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 off-diagonal 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 off-diagonal 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 off-diagonal 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 off-diagonal 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 off-diagonal block. More...
 
pastix_fixdbl_t cpucblk_dgemmsp (pastix_coefside_t sideA, pastix_trans_t trans, const SolverCblk *cblk, const SolverBlok *blok, SolverCblk *fcblk, const void *A, const void *B, void *C, double *work, pastix_int_t lwork, const pastix_lr_t *lowrank)
 Compute the updates associated to one off-diagonal block. More...
 
pastix_fixdbl_t cpublok_dgemmsp (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.2.1
Author
Mathieu Faverge
Pierre Ramet
Xavier Lacoste
Gregoire Pichon
Nolan Bredel
Date
2021-06-18
Generated arithmetic file\n from /builds/solverstack/pastix/kernels/core_zgemmsp.c, normal z -> d, Tue Apr 12 09:38:35 2022

Definition in file core_dgemmsp.c.