PaStiX Handbook  6.2.1
cpucblk_dinit.c File Reference
#include "common/common.h"
#include "blend/solver.h"
#include "bcsc/bcsc.h"
#include "pastix_dcores.h"
#include "pastix_dlrcores.h"

Go to the source code of this file.

Functions

void cpublok_dalloc_lrws (const SolverCblk *cblk, const SolverBlok *blok, pastix_lrblock_t *lrblok, double *ws)
 Initialize a lrblock structure from a workspace from a specific block to the end of all blocks. More...
 
void cpucblk_dalloc_lrws (const SolverCblk *cblk, pastix_lrblock_t *lrblok, double *ws)
 Initialize lrblock structure from a workspace from all blocks of the cblk associated. More...
 
void cpucblk_dalloc_lr (pastix_coefside_t side, SolverCblk *cblk, int rkmax)
 Allocate the cblk structure to store the coefficient. More...
 
void cpucblk_dalloc_fr (pastix_coefside_t side, SolverCblk *cblk)
 Allocate the cblk structure to store the coefficient. More...
 
void cpucblk_dalloc (pastix_coefside_t side, SolverCblk *cblk)
 Allocate the cblk structure to store the coefficient. More...
 
void cpucblk_dfree (pastix_coefside_t side, SolverCblk *cblk)
 Free the cblk structure that store the coefficient. More...
 
static void cpucblk_dfillin_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_dfillin_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_dfillin (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 -> d, Tue Apr 12 09:38:40 2022

Definition in file cpucblk_dinit.c.

Function Documentation

◆ cpublok_dalloc_lrws()

void cpublok_dalloc_lrws ( const SolverCblk cblk,
const SolverBlok blok,
pastix_lrblock_t lrblok,
double *  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_dinit.c.

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

◆ cpucblk_dfillin_fr()

static void cpucblk_dfillin_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_dinit.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_dfillin_lr()

static void cpucblk_dfillin_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_dinit.c.

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