PaStiX Handbook 6.4.0
|
#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. | |
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. | |
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. | |
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. | |
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, pastix_int_t *faninnbr_tab) |
Fill the local numbering arrays to compress the symbol information into solver. | |
SolverBlok * | solvMatGen_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) | |
SolverBlok * | solvMatGen_register_remote_cblk (const SolverMatrix *solvmtx, 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, pastix_int_t *faninnbr_tab) |
Register a remote cblk from a solver_recv_cblk_t structure (Fanin|Recv) | |
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. | |
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. | |
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. | |
void | solvMatGen_max_buffers (SolverMatrix *solvmtx) |
Compute the maximum area of the temporary buffers used during computation. | |
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. | |
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. | |
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. | |
PaStiX solver structure generation functions to factorize solver_matric_gen.c .
Definition in file solver_matrix_gen_utils.h.