PaStiX Handbook  6.4.0
fax_csr_amalgamate.c File Reference
#include "common.h"
#include "pastix/order.h"
#include "symbol/fax_csr.h"
#include "kernels/queue.h"
#include "blend/perf.h"

Go to the source code of this file.

Macros

#define RAT_CBLK   0.02
 Minimal memory increase accepted by the amalgamation algorithm (2%)
 
#define INFINI   1e9
 Define an infinite time.
 

Functions

static double cblk_time_fact (pastix_int_t n, const pastix_int_t *ja, pastix_int_t colnbr)
 Compute a time estimation cost of the factorization. More...
 
static double cblk_time_solve (pastix_int_t n, const pastix_int_t *ja, pastix_int_t colnbr)
 Compute a time estimation cost of the solve step. More...
 
static pastix_int_t amalgamate_get_sonslist (pastix_int_t node, const pastix_int_t *sonindex, const pastix_int_t *sontab, const pastix_int_t *colweight, pastix_int_t *list)
 Return the list of sons of a given node. More...
 
static pastix_int_t amalgamate_merge_cost (pastix_int_t a, pastix_int_t b, const fax_csr_t *P, const pastix_int_t *colweight)
 Compute the cost of merging two nodes a and b together. The additional cost is returned. More...
 
static double amalgamate_merge_gain (pastix_int_t a, pastix_int_t b, const fax_csr_t *P, const pastix_int_t *colweight, pastix_int_t *tmp, double(*cblktime)(pastix_int_t, const pastix_int_t *, pastix_int_t))
 Computes the computational gain of merging two nodes a and b together. More...
 
static void amalgamate_merge_col (pastix_int_t a, pastix_int_t b, fax_csr_t *P, pastix_int_t *tmp)
 Merge two nodes together withing the given graph. More...
 
void faxCSRAmalgamate (int ilu, double rat_cblk, double rat_blas, fax_csr_t *graphL, pastix_order_t *order, PASTIX_Comm pastix_comm)
 Amalgamate the given graph up to a given tolerance. More...
 

Detailed Description

This file contains the routines to amalgamate a given graph with a fill-in ratio used in the amalgamation algorithm.

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

Definition in file fax_csr_amalgamate.c.