PaStiX Handbook  6.4.0
cand.c File Reference
#include "common.h"
#include "symbol/symbol.h"
#include "blend/elimintree.h"
#include "blend/cost.h"
#include "blend/cand.h"
#include "blend/solver.h"

Go to the source code of this file.

Functions

CandcandInit (pastix_int_t cblknbr)
 Initialize the candtab array with default values. More...
 
void candExit (Cand *candtab)
 Exit and free the candtab structure given. More...
 
void candSave (const Cand *candtab, pastix_int_t cblknbr, const char *directory)
 Print the candidates array into the candtab.txt file. More...
 
void candSetClusterCand (Cand *candtab, pastix_int_t cblknbr, const pastix_int_t *core2clust, pastix_int_t coresnbr)
 Set the clusters candidates from the cores canditates. More...
 
int candCheck (const Cand *candtab, const symbol_matrix_t *symbmtx)
 Check the correctness of the computed candidates. More...
 
static double candSubTreeBuild (pastix_int_t rootnum, Cand *candtab, EliminTree *etree, const symbol_matrix_t *symbmtx, const CostMatrix *costmtx, double *cripath)
 Recursive function to update the cost fields of the both the candtab array, and the elimination tree structure. More...
 
void candSubTreeDistribFirstWidth (pastix_int_t rootnum, pastix_int_t cblktype, pastix_int_t ratiolimit2D, pastix_int_t ratiolimitLR, Cand *candtab, const EliminTree *etree, const symbol_matrix_t *symbmtx)
 Recursive function to compute the distribution of the nodes among the different levels. More...
 
pastix_int_t candSubTreeDistribDeepestWidth (pastix_int_t rootnum, pastix_int_t cblktype, pastix_int_t ratiolimit2D, pastix_int_t ratiolimitLR, Cand *candtab, const EliminTree *etree, const symbol_matrix_t *symbmtx)
 Recursive function to compute the distribution of the nodes among the different levels. More...
 
pastix_int_t candSubTreeDistribDeepestLevel (pastix_int_t rootnum, pastix_int_t cblktype, pastix_int_t level2D, pastix_int_t ratiolimitLR, Cand *candtab, const EliminTree *etree, const symbol_matrix_t *symbmtx)
 Recursive function to compute the distribution of the nodes among the different levels based on depth. More...
 
void candSubTreeDistribFirstLevel (pastix_int_t rootnum, pastix_int_t cblktype, pastix_int_t level2D, pastix_int_t ratiolimitLR, Cand *candtab, const EliminTree *etree, const symbol_matrix_t *symbmtx)
 Recursive function to compute the distribution of the nodes among the different levels based on depth. More...
 
void candBuild (pastix_int_t level_tasks2d, pastix_int_t width_tasks2d, pastix_compress_when_t lr_when, pastix_int_t lr_width, Cand *candtab, EliminTree *etree, const symbol_matrix_t *symbmtx, const CostMatrix *costmtx)
 Finish to build the candtab array for the proportionnal mapping. More...
 
void candUpdate (Cand *candtab, EliminTree *etree, const symbol_matrix_t *symbmtx, const CostMatrix *costmtx)
 Update the candtab array costs after the symbol split algorithm has been applied. More...
 

Detailed Description

PaStiX analyse functions to manipulate candidates on the elimination tree structure.

Version
6.4.0
Author
Pascal Henon
Mathieu Faverge
Gregoire Pichon
Pierre Ramet
Date
2024-07-05

Definition in file cand.c.