PaStiX Handbook  6.3.2
cpucblk_zcinit.c File Reference
#include "common/common.h"
#include "blend/solver.h"
#include "bcsc/bcsc.h"
#include "pastix_zcores.h"
#include "pastix_zlrcores.h"
#include <lapacke.h>

Go to the source code of this file.

Functions

static int cpucblk_zcfillin_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 int cpucblk_zcfillin_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...
 
int cpucblk_zcfillin (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

Mixed-Precision dependent coeficient array initialization routines.

Version
6.3.2
Author
Xavier Lacoste
Pierre Ramet
Mathieu Faverge
Esragul Korkmaz
Tony Delarue
Brieuc Nicolas
Date
2023-07-21
Generated arithmetic file
from /builds/solverstack/pastix/kernels/cpucblk_zcinit.c, mixed zc -> zc, Wed Dec 13 12:09:17 2023

Definition in file cpucblk_zcinit.c.

Function Documentation

◆ cpucblk_zcfillin_fr()

static int cpucblk_zcfillin_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.
Returns
0 on success, 1 in case of overflow during initialization.

Definition at line 81 of file cpucblk_zcinit.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_zcfillin().

◆ cpucblk_zcfillin_lr()

static int cpucblk_zcfillin_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.
Returns
0 on success, 1 in case of overflow during initialization.

Definition at line 201 of file cpucblk_zcinit.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_zcfillin().

◆ cpucblk_zcfillin()

int cpucblk_zcfillin ( pastix_coefside_t  side,
const SolverMatrix solvmtx,
const pastix_bcsc_t *  bcsc,
pastix_int_t  itercblk 
)

Initialize the 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.
Returns
0 on success, 1 in case of overflow during initialization.

Definition at line 318 of file cpucblk_zcinit.c.

References solver_matrix_s::cblktab, cpucblk_zcfillin_fr(), and cpucblk_zcfillin_lr().

Referenced by cpucblk_zcinit().