41 return FLOPS_ZPOTRF( N );
50 return FLOPS_DPOTRF( N );
59 return FLOPS_ZGETRF( N, N );
68 return FLOPS_DGETRF( N, N );
77 return FLOPS_ZSYTRF( N );
86 return FLOPS_DSYTRF( N );
134 return FLOPS_ZTRSM(
PastixRight, M, N ) + 6. * (double)N * (
double)M;
143 return FLOPS_DTRSM(
PastixRight, M, N ) + (double)N * (
double)M;
155 return FLOPS_ZHERK( K, M );
164 return FLOPS_DSYRK( K, M );
173 return FLOPS_ZGEMM( M, M, K );
182 return FLOPS_DGEMM( M, M, K );
191 return FLOPS_ZSYRK( K, M ) + 6. * (double)M * (
double)M;
200 return FLOPS_DSYRK( K, M ) + (double)M * (
double)M;
214 return FLOPS_ZGEMM( M, N, K ) + 2. * (double)M * (
double)N;
224 return FLOPS_DGEMM( M, N, K ) + (double)M * (
double)N;
234 return FLOPS_ZGEMM( M, N, K ) + FLOPS_ZGEMM( M-N, N, K )
235 + 2. * (double)M * (
double)N + 2. * (double)(M-N) * (double)(N);
245 return FLOPS_DGEMM( M, N, K ) + FLOPS_DGEMM( M-N, N, K )
246 + (double)M * (
double)N + (double)(M-N) * (double)(N);
258 return FLOPS_ZGEMM( M, N, K )
259 + 2. * (double)M * (
double)N;
262 return FLOPS_ZGEMM( M, N, K )
263 + 2. * (double)M * (
double)N
264 + 6. * (double)M * (
double)N;
277 return FLOPS_DGEMM( M, N, K )
278 + (double)M * (
double)N;
281 return FLOPS_DGEMM( M, N, K )
282 + (double)M * (
double)N
283 + (double)M * (
double)N;
BEGIN_C_DECLS typedef int pastix_int_t
static double flops_dgetrf_update(pastix_int_t K, pastix_int_t M)
Theroretical computation flops of the update step per coumn block (see sum1d())
symbol_function_t flopstable[2][5]
array of pointer to the flops functions per factorization and arithmetic
static double flops_dgetrf_trsm(pastix_int_t M, pastix_int_t N)
Computations flops of the solve step.
static double flops_zgetrf_diag(pastix_int_t N)
Computations flops of diagonal blocks.
static double flops_zsytrf_trsm(pastix_int_t M, pastix_int_t N)
Computations flops of the solve step.
static double flops_dsytrf_update(pastix_int_t K, pastix_int_t M)
Theroretical computation flops of the update step per coumn block (see sum1d())
static double flops_zgetrf_update(pastix_int_t K, pastix_int_t M)
Theroretical computation flops of the update step per coumn block (see sum1d())
static double flops_dpotrf_trsm(pastix_int_t M, pastix_int_t N)
Computations flops of the solve step.
static double flops_zpotrf_diag(pastix_int_t N)
Computations flops of diagonal blocks.
static double flops_zpotrf_blkupdate(pastix_int_t M, pastix_int_t N, pastix_int_t K)
Computes the theoretical number of flops of the update step per block (see sum2d())
static double flops_dsytrf_diag(pastix_int_t N)
Computations flops of diagonal blocks.
static double flops_zsytrf_blkupdate(pastix_int_t M, pastix_int_t N, pastix_int_t K)
Computes the theoretical number of flops of the update step per block (see sum2d())
static double flops_dpotrf_blkupdate(pastix_int_t M, pastix_int_t N, pastix_int_t K)
Computes the theoretical number of flops of the update step per block (see sum2d())
static double flops_zpotrf_trsm(pastix_int_t M, pastix_int_t N)
Computations flops of the solve step.
static double flops_zsytrf_update(pastix_int_t K, pastix_int_t M)
Theroretical computation flops of the update step per coumn block (see sum1d())
static double flops_dpotrf_diag(pastix_int_t N)
Computations flops of diagonal blocks.
static double flops_zpotrf_update(pastix_int_t K, pastix_int_t M)
Theroretical computation flops of the update step per coumn block (see sum1d())
static double flops_zgetrf_trsm(pastix_int_t M, pastix_int_t N)
Computations flops of the solve step.
static double flops_dgetrf_blkupdate(pastix_int_t M, pastix_int_t N, pastix_int_t K)
Computes the theoretical number of flops of the update step per block (see sum2d())
static double flops_zsytrf_diag(pastix_int_t N)
Computations flops of diagonal blocks.
static double flops_dpotrf_update(pastix_int_t K, pastix_int_t M)
Theroretical computation flops of the update step per coumn block (see sum1d())
static double flops_dsytrf_blkupdate(pastix_int_t M, pastix_int_t N, pastix_int_t K)
Computes the theoretical number of flops of the update step per block (see sum2d())
static double flops_dsytrf_trsm(pastix_int_t M, pastix_int_t N)
Computations flops of the solve step.
static double flops_dgetrf_diag(pastix_int_t N)
Computations flops of diagonal blocks.
static double flops_zgetrf_blkupdate(pastix_int_t M, pastix_int_t N, pastix_int_t K)
Computes the theoretical number of flops of the update step per block (see sum2d())
Cost functions to compute statistics on the symbolic structure.