PaStiX Handbook  6.3.2
coeftab.c File Reference
#include "common.h"
#include "bcsc/bcsc.h"
#include "isched.h"
#include "blend/solver.h"
#include "sopalin/coeftab.h"
#include "pastix_zcores.h"
#include "pastix_ccores.h"
#include "pastix_dcores.h"
#include "pastix_scores.h"
#include "cpucblk_zpack.h"
#include "cpucblk_cpack.h"
#include "cpucblk_dpack.h"
#include "cpucblk_spack.h"
#include "pastix_zccores.h"
#include "pastix_dscores.h"

Go to the source code of this file.

Functions

void coeftabAlloc (pastix_data_t *pastix_data)
 Allocates the entire coeftab matrix with a single allocation. More...
 
void pcoeftabInit (isched_thread_t *ctx, void *args)
 Internal routine called by each static thread to Initialize the solver matrix structure. More...
 
void coeftabInit (pastix_data_t *pastix_data, pastix_coefside_t side)
 Initialize the solver matrix structure. More...
 
void coeftabExit (SolverMatrix *solvmtx)
 Free the solver matrix structure. More...
 
static void pcoeftabComp (isched_thread_t *ctx, void *args)
 Internal routine called by each static thread to Initialize the solver matrix structure. More...
 
pastix_int_t coeftabCompress (pastix_data_t *pastix_data)
 Compress the factorized matrix structure if not already done. More...
 
void coeftabComputeCblkILULevels (const SolverMatrix *solvmtx, SolverCblk *cblk)
 Compute the ILU levels of a cblk. More...
 

Variables

coeftab_fct_memory_t coeftabMemory [4]
 List of functions to compute the memory gain in low-rank per precision. More...
 

Detailed Description

PaStiX coefficient array initialization and free routines.

Version
6.3.2
Author
Xavier Lacoste
Pierre Ramet
Mathieu Faverge
Esragul Korkmaz
Gregoire Pichon
Tony Delarue
Date
2023-07-21

Definition in file coeftab.c.

Function Documentation

◆ coeftabAlloc()

void coeftabAlloc ( pastix_data_t pastix_data)

Allocates the entire coeftab matrix with a single allocation.

The different cblk coeftabs are assigned inside the allocation, each one with their right size.

Parameters
[in,out]pastix_dataThe pastix_data structure that describes the solver instance. On exit, the internal coeftab matrix is allocated.

Definition at line 98 of file coeftab.c.

References solver_matrix_s::cblktab, solver_matrix_s::coefnbr, solver_matrix_s::flttype, pastix_int_t, and pastix_data_s::solvmatr.

Referenced by coeftabInit().

◆ pcoeftabInit()

void pcoeftabInit ( isched_thread_t *  ctx,
void *  args 
)

Internal routine called by each static thread to Initialize the solver matrix structure.

This routine is the routine called by each thread in the static scheduler and launched by the coeftabinit().

Parameters
[in,out]ctxThe internal scheduler context
[in]argsThe data structure specific to the function cpucblk_zinit()

Definition at line 160 of file coeftab.c.

References task_s::cblknum, and pastix_int_t.

Referenced by coeftabInit().

◆ pcoeftabComp()

static void pcoeftabComp ( isched_thread_t *  ctx,
void *  args 
)
static

Internal routine called by each static thread to Initialize the solver matrix structure.

This routine is the routine called by each thread in the static scheduler and launched by the coeftabCompress().

Parameters
[in,out]ctxThe internal scheduler context
[in]argsThe data structure specific to the function cpucblk_zcompress()

Definition at line 351 of file coeftab.c.

References task_s::cblknum, solver_matrix_s::cblktab, solver_cblk_s::cblktype, cpucblk_ccompress(), cpucblk_dcompress(), cpucblk_scompress(), cpucblk_zcompress(), solver_matrix_s::factotype, pastix_int_t, PastixFactLU, PastixLCoef, and PastixLUCoef.

Referenced by coeftabCompress().