PaStiX Handbook  6.3.2
symbol_cost.c File Reference
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <assert.h>
#include "common.h"
#include "symbol/symbol.h"
#include "symbol_cost.h"

Go to the source code of this file.

Functions

static double sum1d (const symbol_function_t *fptr, const symbol_matrix_t *symbmtx, pastix_int_t cblknum)
 Template function to compute cost on a column-block based approach with a single update per column block. More...
 
static double sum2d (const symbol_function_t *fptr, const symbol_matrix_t *symbmtx, pastix_int_t cblknum)
 Template function to compute cost on block based approach. More...
 
static double sum2dext (const symbol_function_t *fptr, const symbol_matrix_t *symbmtx, pastix_int_t cblknum, double *blokcost)
 Template function to compute cost on block based approach which keeps the cost per block. More...
 
static double recursive_sum (pastix_int_t a, pastix_int_t b, double(*fval)(const symbol_function_t *, const symbol_matrix_t *, pastix_int_t), const symbol_function_t *fptr, const symbol_matrix_t *symbmtx)
 Recursive function to compute the cost of the full symbolic structure with either sum1d(), sum2d(), or sum2dext(). More...
 
Symbol statistical information subroutines
size_t pastixSymbolGetNNZ (const symbol_matrix_t *symbptr)
 Computes the number of non-zero elements in L. More...
 
void pastixSymbolGetFlops (const symbol_matrix_t *symbmtx, pastix_coeftype_t flttype, pastix_factotype_t factotype, double *thflops, double *rlflops)
 Computes the number of theoretical and real flops. More...
 
void pastixSymbolGetTimes (const symbol_matrix_t *symbmtx, pastix_coeftype_t flttype, pastix_factotype_t factotype, double *cblkcost, double *blokcost)
 Computes the cost of structure for the costMatrixBuild() function. More...
 

Detailed Description

PaStiX symbol structure cost functions

Version
6.3.2
Author
Pascal Henon
Pierre Ramet
Mathieu Faverge
Date
2023-07-21

Definition in file symbol_cost.c.