PaStiX Handbook  6.3.2
blend.h
Go to the documentation of this file.
1 /**
2  *
3  * @file blend.h
4  *
5  * PaStiX analyse functions to manipulate candidates on the elimination tree
6  * structure.
7  *
8  * @copyright 2004-2023 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
9  * Univ. Bordeaux. All rights reserved.
10  *
11  * @version 6.3.2
12  * @author Pascal Henon
13  * @author Mathieu Faverge
14  * @date 2023-07-21
15  *
16  * @addtogroup pastix_blend
17  * @{
18  * This module contains all the subroutines and structures to perform the
19  * analyze step and prepare the numerical factorization and solve. It is
20  * composed of four main steps. The first one is the computation of the
21  * proportional mapping based on the elimination tree to attribute worker
22  * candidates to all nodes in the tree. The second one is the cutting step of
23  * the symbol matrix to generate more parallelism. Then, the simulation
24  * predict the best mapping out of the candidates and returns the associated
25  * static scheduling for the tasks. Finally, the local solver structure is
26  * created to control the numerical factorization and solve and store the
27  * problem data.
28  *
29  **/
30 #ifndef _blend_h_
31 #define _blend_h_
32 
33 void propMappTree ( Cand *candtab,
34  const EliminTree *etree,
35  pastix_int_t candnbr,
36  int nocrossproc,
37  int allcand );
38 void splitSymbol ( BlendCtrl *ctrl,
39  symbol_matrix_t *symbmtx );
40 void simuRun ( SimuCtrl *,
41  const BlendCtrl *,
42  const symbol_matrix_t * );
43 #endif /* _blend_h_ */
44 
45 /**
46  * @}
47  */
BEGIN_C_DECLS typedef int pastix_int_t
Definition: datatypes.h:51
Processor candidate group to own a column blok.
Definition: cand.h:28
The type and structure definitions.
Definition: blendctrl.h:28
Elimination tree.
Definition: elimintree.h:39
Control structure for the simulation.
Definition: simu.h:116
void splitSymbol(BlendCtrl *ctrl, symbol_matrix_t *symbmtx)
Split the column blocks of the symbol matrix to generate parallelism.
Definition: splitsymbol.c:522
void propMappTree(Cand *candtab, const EliminTree *etree, pastix_int_t candnbr, int nocrossproc, int allcand)
Apply the proportional mapping algorithm.
Definition: propmap.c:415
void simuRun(SimuCtrl *, const BlendCtrl *, const symbol_matrix_t *)
Run the simulation to map the data on the nodes.
Definition: simu_run.c:986
Symbol matrix structure.
Definition: symbol.h:77