PaStiX Handbook 6.4.0
Loading...
Searching...
No Matches
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.
 
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.
 
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.
 
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().
 
Symbol statistical information subroutines
size_t pastixSymbolGetNNZ (const symbol_matrix_t *symbptr)
 Computes the number of non-zero elements in L.
 
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.
 
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.
 

Detailed Description

PaStiX symbol structure cost functions

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

Definition in file symbol_cost.c.