Number of floating point operations for pointwise kernels in PyFR

Dear all,

I’m Antonio Garcia-Uceda, researcher on Flux Reconstruction methods.

I’d like to ask you whether you could provide me with a estimation of the number of floating point operations needed for the different pointwise operators in PyFR (separately if possible). In particular, the computation of inviscid and viscous fluxes, in cells and on faces.

Thanks a lot in advance.

Best regards,
Antonio

Hi Antonio,

I'd like to ask you whether you could provide me with a estimation
of the number of floating point operations needed for the different
pointwise operators in PyFR (separately if possible). In particular,
the computation of inviscid and viscous fluxes, in cells and on
faces.

The overall flops from the pointwise operations are insignificant
compared to the matrix multiplication operations. However, as they are
just pointwise you can estimate the number of flops by counting the
number of operationa required to compute the 15 fluxes in a 3D Euler
simulation. Account for the matrix vector products to transform these
fluxes from physical to transformed spce and you've got a reasonable
estimate.

Regards, Freddie.

Dear Freddie,

Thanks a lot for your reply.

Could you please tell me whether in your estimations you considered all floating-points operations: +, -, *, /, fabs, sqrt, … as of the same type, or applied some sort of conversion to express that some are typically more expensive than others, such as “/” or “sqrt”?

Best regards,
Antonio

Hi Antonio,

All floating point operations were assumed to have the same cost. While
this is not actually true, the number of flops contributed from these
operations is so small that it really is just a rounding error.

Regards, Freddie.