PaStiX Handbook  6.3.2
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 for 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.3.2
Author
Xavier Lacoste
Pierre Ramet
Mathieu Faverge
Esragul Korkmaz
Tony Delarue
Alycia Lisito
Nolan Bredel
Date
2023-10-25
Generated arithmetic file
from /builds/solverstack/pastix/kernels/cpucblk_zinit.c, normal z -> d, Wed Dec 13 12:09:17 2023

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 53 of file cpucblk_dinit.c.

References blok_rownbr(), cblk_colnbr(), solver_cblk_s::cblktype, solver_cblk_s::fblokptr, solver_blok_s::fcblknm, pastix_int_t, pastix_lrblock_s::rk, pastix_lrblock_s::rkmax, pastix_lrblock_s::u, and pastix_lrblock_s::v.

◆ 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 395 of file cpucblk_dinit.c.

References solver_cblk_s::bcscnum, blok_rownbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, solver_blok_s::coefind, bcsc_cblk_s::colnbr, bcsc_cblk_s::coltab, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::iluklvl, solver_cblk_s::lcoeftab, solver_cblk_s::lcolnum, solver_blok_s::lrownum, pastix_int_t, PastixLCoef, PastixSymmetric, PastixUCoef, solver_cblk_s::stride, and solver_cblk_s::ucoeftab.

Referenced by cpucblk_dfillin().

◆ 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 514 of file cpucblk_dinit.c.

References solver_cblk_s::bcscnum, blok_rownbr(), solver_matrix_s::cblktab, solver_cblk_s::cblktype, bcsc_cblk_s::colnbr, bcsc_cblk_s::coltab, solver_cblk_s::fblokptr, solver_cblk_s::fcolnum, solver_blok_s::frownum, solver_blok_s::iluklvl, solver_cblk_s::lcolnum, solver_blok_s::LRblock, solver_blok_s::lrownum, pastix_int_t, PastixLCoef, PastixSymmetric, PastixUCoef, and pastix_lrblock_s::u.

Referenced by cpucblk_dfillin().