PaStiX Handbook  6.3.2
solver_matrix_gen_utils.h File Reference
#include "elimintree.h"
#include "cost.h"
#include "symbol/symbol.h"
#include "cand.h"
#include "blend/solver.h"
#include "pastix/order.h"

Go to the source code of this file.

Functions

static void solvMatGen_init_blok (SolverBlok *solvblok, pastix_int_t lcblknm, pastix_int_t fcblknm, pastix_int_t frownum, pastix_int_t lrownum, pastix_int_t stride, pastix_int_t nbcols, pastix_int_t layout2D)
 Initialize a solver block. More...
 
static void solvMatGen_init_cblk (SolverCblk *solvcblk, SolverBlok *fblokptr, const Cand *candcblk, const symbol_cblk_t *symbcblk, pastix_int_t fcolnum, pastix_int_t lcolnum, pastix_int_t brownum, pastix_int_t stride, pastix_int_t cblknum, int ownerid)
 Initialize a solver cblk. More...
 
static pastix_int_t solvMatGen_supernode_index (const symbol_cblk_t *symbcblk, SolverCblk *solvcblk, pastix_int_t sndeidx, const pastix_order_t *ordeptr)
 Register the original supernode index of the cblk. More...
 
static void solvMatGen_cblkIs2D (SolverMatrix *solvmtx, pastix_int_t *nbcblk2d, pastix_int_t *nbblok2d, pastix_int_t nbbloks, pastix_int_t tasks2D, pastix_int_t cblknum)
 Update the 1D/2D infos of the solver matrix through a cblk. More...
 
void solvMatGen_fill_localnums (const symbol_matrix_t *symbmtx, const SimuCtrl *simuctrl, SolverMatrix *solvmtx, pastix_int_t *cblklocalnum, pastix_int_t *bloklocalnum, pastix_int_t *tasklocalnum, solver_cblk_recv_t **ftgttab)
 Fill the local numbering arrays to compress the symbol information into solver. More...
 
SolverBloksolvMatGen_register_local_cblk (const symbol_matrix_t *symbmtx, const Cand *candcblk, const pastix_int_t *cblklocalnum, SolverCblk *solvcblk, SolverBlok *solvblok, pastix_int_t lcblknm, pastix_int_t brownum, pastix_int_t gcblknm, pastix_int_t ownerid)
 Register a local cblk from a symbol_cblk_t structure !(Fanin|Recv) More...
 
SolverBloksolvMatGen_register_remote_cblk (const symbol_matrix_t *symbmtx, const solver_cblk_recv_t *recvcblk, const Cand *candcblk, const pastix_int_t *cblklocalnum, SolverCblk *solvcblk, SolverBlok *solvblok, pastix_int_t lcblknm, pastix_int_t brownum, pastix_int_t gcblknm)
 Register a remote cblk from a solver_recv_cblk_t structure (Fanin|Recv) More...
 
pastix_int_t solvMatGen_reorder_browtab (const symbol_matrix_t *symbmtx, const symbol_cblk_t *symbcblk, SolverMatrix *solvmtx, SolverCblk *solvcblk, pastix_int_t *browtmp, const pastix_int_t *cblklocalnum, const pastix_int_t *bloklocalnum, pastix_int_t brownum)
 Reorder the browtab from the symbol structure in a distributed way. First stock the 1D blocks and then the 2D blocks. More...
 
void solvMatGen_fill_tasktab (SolverMatrix *solvmtx, isched_t *isched, const SimuCtrl *simuctrl, const pastix_int_t *tasklocalnum, const pastix_int_t *cblklocalnum, const pastix_int_t *bloklocalnum, pastix_int_t clustnum, int is_dbg)
 Fill the global tasktab array, as well as the thread ttsktab arrays. More...
 
void solvMatGen_stats_last (SolverMatrix *solvmtx)
 Mark blocks if they belong to the last supernode, or if they are facing it for statistical purpose only. More...
 
void solvMatGen_max_buffers (SolverMatrix *solvmtx)
 Compute the maximum area of the temporary buffers used during computation. More...
 
void solver_recv_update_fanin (solver_cblk_recv_t **faninptr, const symbol_matrix_t *symbmtx, const symbol_cblk_t *cblk, const symbol_blok_t *blok, const symbol_cblk_t *fcblk, int ownerid)
 Register a new contribution to a fanin cblk. More...
 
void solver_recv_update_recv (solver_cblk_recv_t **recvptr, const symbol_matrix_t *symbmtx, const symbol_cblk_t *cblk, const symbol_blok_t *blok, const symbol_cblk_t *fcblk, int ownerid)
 Register a new contribution to a recv cblk. More...
 
int solver_recv_get_bloknbr (const solver_cblk_recv_t *ftgtptr, const symbol_cblk_t *symbcblk, const symbol_blok_t *symbblok)
 Compute the number of valid blocks in fanin/recv cblk. More...
 

Detailed Description

PaStiX solver structure generation functions to factorize solver_matric_gen.c .

Version
6.3.2
Author
Tony Delarue
Pascal Henon
Pierre Ramet
Xavier Lacoste
Mathieu Faverge
Date
2023-07-21

Definition in file solver_matrix_gen_utils.h.