PaStiX Handbook  6.2.1
cpucblk_sinit.c File Reference
#include "common/common.h"
#include "blend/solver.h"
#include "bcsc/bcsc.h"
#include "pastix_scores.h"
#include "pastix_slrcores.h"

Go to the source code of this file.

Functions

void cpublok_salloc_lrws (const SolverCblk *cblk, const SolverBlok *blok, pastix_lrblock_t *lrblok, float *ws)
 Initialize a lrblock structure from a workspace from a specific block to the end of all blocks. More...
 
void cpucblk_salloc_lrws (const SolverCblk *cblk, pastix_lrblock_t *lrblok, float *ws)
 Initialize lrblock structure from a workspace from all blocks of the cblk associated. More...
 
void cpucblk_salloc_lr (pastix_coefside_t side, SolverCblk *cblk, int rkmax)
 Allocate the cblk structure to store the coefficient. More...
 
void cpucblk_salloc_fr (pastix_coefside_t side, SolverCblk *cblk)
 Allocate the cblk structure to store the coefficient. More...
 
void cpucblk_salloc (pastix_coefside_t side, SolverCblk *cblk)
 Allocate the cblk structure to store the coefficient. More...
 
void cpucblk_sfree (pastix_coefside_t side, SolverCblk *cblk)
 Free the cblk structure that store the coefficient. More...
 
static void cpucblk_sfillin_fr (pastix_coefside_t side, const SolverMatrix *solvmtx, const pastix_bcsc_t *bcsc, pastix_int_t itercblk)
 Initialize the full-rank coeftab structure from the internat bcsc. More...
 
static void cpucblk_sfillin_lr (pastix_coefside_t side, const SolverMatrix *solvmtx, const pastix_bcsc_t *bcsc, pastix_int_t itercblk)
 Initialize the low-rank coeftab structure from the internal bcsc. More...
 
void cpucblk_sfillin (pastix_coefside_t side, const SolverMatrix *solvmtx, const pastix_bcsc_t *bcsc, pastix_int_t itercblk)
 Initialize the coeftab structure from the internal bcsc. More...
 

Detailed Description

Precision dependent coeficient array initialization routines.

Version
6.2.0
Author
Xavier Lacoste
Pierre Ramet
Mathieu Faverge
Esragul Korkmaz
Tony Delarue
Date
2021-03-30
Generated arithmetic file\n from /builds/solverstack/pastix/kernels/cpucblk_zinit.c, normal z -> s, Tue Apr 12 09:38:40 2022

Definition in file cpucblk_sinit.c.

Function Documentation

◆ cpublok_salloc_lrws()

void cpublok_salloc_lrws ( const SolverCblk cblk,
const SolverBlok blok,
pastix_lrblock_t lrblok,
float *  ws 
)

Initialize a lrblock structure from a workspace from a specific block to the end of all blocks.

The lrblock structure must be allocated before.

Parameters
[in,out]cblkThe column block associated to the initialization.
[in]blokThe block representation associated to the initialization.
[in]lrblokThe structure blok to initialize. Must be allocated before.
[in]wsThe workspace associated with the data that will be used for initialize lrblok.

Definition at line 51 of file cpucblk_sinit.c.

References cblk_colnbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, and solver_blok_s::fcblknm.

◆ cpucblk_sfillin_fr()

static void cpucblk_sfillin_fr ( pastix_coefside_t  side,
const SolverMatrix *  solvmtx,
const pastix_bcsc_t bcsc,
pastix_int_t  itercblk 
)
inlinestatic

Initialize the full-rank coeftab structure from the internat bcsc.

Parameters
[in]sideDefine which side of the matrix must be initialized.
  • PastixLCoef if lower part only
  • PastixUCoef if upper part only
  • PastixLUCoef if both sides.
[in]solvmtxPaStiX structure to store numerical data and flags
[in]bcscThe internal bcsc structure that hold the graph with permutation stored by cblk.
[in]itercblkThe index of the cblk to fill in both bcsc and solvmtx structures.

Definition at line 390 of file cpucblk_sinit.c.

References solver_cblk_s::bcscnum, solver_cblk_s::cblktype, pastix_bcsc_s::cscftab, solver_cblk_s::lcoeftab, pastix_bcsc_s::Lvalues, solver_cblk_s::stride, solver_cblk_s::ucoeftab, and pastix_bcsc_s::Uvalues.

◆ cpucblk_sfillin_lr()

static void cpucblk_sfillin_lr ( pastix_coefside_t  side,
const SolverMatrix *  solvmtx,
const pastix_bcsc_t bcsc,
pastix_int_t  itercblk 
)
inlinestatic

Initialize the low-rank coeftab structure from the internal bcsc.

Parameters
[in]sideDefine which side of the matrix must be initialized.
  • PastixLCoef if lower part only
  • PastixUCoef if upper part only
  • PastixLUCoef if both sides.
[in]solvmtxPaStiX structure to store numerical data and flags
[in]bcscThe internal bcsc structure that hold the graph with permutation stored by cblk.
[in]itercblkThe index of the cblk to fill in both bcsc and solvmtx structures.

Definition at line 500 of file cpucblk_sinit.c.

References solver_cblk_s::bcscnum, solver_cblk_s::cblktype, pastix_bcsc_s::cscftab, pastix_bcsc_s::Lvalues, and pastix_bcsc_s::Uvalues.