← Back to team overview

ffc team mailing list archive

Preliminary benchmark results for FFC

 

I'm working on some benchmarks comparing FFC with the standard
quadrature approach and the results look pretty good. The typical
speedup is a factor 10-100.

I've run tests for Lagrange elements with q = 1,2,3 for a simple mass
matrix, Poisson, the nonlinear term of Navier-Stokes and the
strain-strain term of linear elasticity. Higher order is on it's way,
but it takes a long time for FIAT to evaluate the basis functions... :-).

See the attached file for some preliminary results. The times
reported are for computing the element matrix (local stiffness matrix)
10,000 times.

Note that this is without any FErari optimizations. (On the other
hand, the quadrature-based code can probably also be optimized.)

/Anders
Mass matrix 2D, q = 1
  QUAD: 2.083e-03 s
  FFC:  1.450e-04 s
Mass matrix 2D, q = 2
  QUAD: 1.341e-02 s
  FFC:  3.620e-04 s
Mass matrix 2D, q = 3
  QUAD: 5.905e-02 s
  FFC:  1.649e-03 s
Mass matrix 3D, q = 1
  QUAD: 5.483e-03 s
  FFC:  1.970e-04 s
Mass matrix 3D, q = 2
  QUAD: 9.708e-02 s
  FFC:  1.797e-03 s
Mass matrix 3D, q = 3
  QUAD: 8.508e-01 s
  FFC:  8.006e-03 s
Poisson 2D, q = 1
  QUAD: 3.908e-03 s
  FFC:  2.650e-04 s
Poisson 2D, q = 2
  QUAD: 3.048e-02 s
  FFC:  7.620e-04 s
Poisson 2D, q = 3
  QUAD: 1.517e-01 s
  FFC:  4.604e-03 s
Poisson 3D, q = 1
  QUAD: 9.952e-03 s
  FFC:  6.190e-04 s
Poisson 3D, q = 2
  QUAD: 2.964e-01 s
  FFC:  7.071e-03 s
Poisson 3D, q = 3
  QUAD: 3.787e+00 s
  FFC:  8.862e-02 s
Navier-Stokes 2D, q = 1
  QUAD: 4.436e-02 s
  FFC:  1.607e-03 s
Navier-Stokes 2D, q = 2
  QUAD: 3.652e-01 s
  FFC:  4.698e-02 s
Navier-Stokes 2D, q = 3
  QUAD: 2.887e+00 s
  FFC:  3.497e-01 s
NavierStokes 3D, q = 1
  QUAD: 8.903e-01 s
  FFC:  1.041e-02 s
NavierStokes 3D, q = 2
  QUAD: 1.806e+01 s
  FFC:  4.081e-01 s
Elasticity 2D, q = 1
  QUAD: 2.497e-02 s
  FFC:  1.858e-03 s
Elasticity 2D, q = 2
  QUAD: 3.159e-01 s
  FFC:  1.083e-02 s
Elasticity 2D, q = 3
  QUAD: 1.897e+00 s
  FFC:  1.012e-01 s
Elasticity 3D, q = 1
  QUAD: 2.880e-01 s
  FFC:  1.089e-02 s
Elasticity 3D, q = 2
  QUAD: 1.284e+01 s
  FFC:  2.088e-01 s

Follow ups