PaStiX Handbook  6.4.0
cpucblk_zinit.c File Reference
#include "common/common.h"
#include "blend/solver.h"
#include "bcsc/bcsc.h"
#include "pastix_zcores.h"
#include "pastix_zlrcores.h"

Go to the source code of this file.

Functions

void cpublok_zalloc_lrws (const SolverCblk *cblk, const SolverBlok *blok, pastix_lrblock_t *lrblok, pastix_complex64_t *ws)
 Initialize a lrblock structure from a workspace from a specific block to the end of all blocks. More...
 
void cpucblk_zalloc_lrws (const SolverCblk *cblk, pastix_lrblock_t *lrblok, pastix_complex64_t *ws)
 Initialize lrblock structure from a workspace for all blocks of the cblk associated. More...
 
void cpucblk_zalloc_lr (pastix_coefside_t side, SolverCblk *cblk, int rkmax)
 Allocate the cblk structure to store the coefficient. More...
 
void cpucblk_zalloc_fr (pastix_coefside_t side, SolverCblk *cblk)
 Allocate the cblk structure to store the coefficient. More...
 
void cpucblk_zalloc (pastix_coefside_t side, SolverCblk *cblk)
 Allocate the cblk structure to store the coefficient. More...
 
void cpucblk_zfree (pastix_coefside_t side, SolverCblk *cblk)
 Free the cblk structure that store the coefficient. More...
 
static void cpucblk_zfillin_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_zfillin_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_zfillin (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.4.0
Author
Xavier Lacoste
Pierre Ramet
Mathieu Faverge
Esragul Korkmaz
Tony Delarue
Alycia Lisito
Nolan Bredel
Date
2024-07-05
Generated arithmetic file
from /builds/solverstack/pastix/kernels/cpucblk_zinit.c, normal z -> z, Tue Oct 8 14:17:24 2024

Definition in file cpucblk_zinit.c.

Function Documentation

◆ cpublok_zalloc_lrws()

void cpublok_zalloc_lrws ( const SolverCblk cblk,
const SolverBlok blok,
pastix_lrblock_t lrblok,
pastix_complex64_t *  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_zinit.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_zfillin_fr()

static void cpucblk_zfillin_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_zinit.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_blok_s::lrownum, pastix_int_t, PastixHermitian, PastixLCoef, PastixUCoef, solver_cblk_s::stride, and solver_cblk_s::ucoeftab.

Referenced by cpucblk_zfillin().

◆ cpucblk_zfillin_lr()

static void cpucblk_zfillin_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_zinit.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_blok_s::LRblock, solver_blok_s::lrownum, pastix_int_t, PastixHermitian, PastixLCoef, PastixUCoef, and pastix_lrblock_s::u.

Referenced by cpucblk_zfillin().