← Back to team overview

ffc team mailing list archive

Re: [Branch ~ffc-core/ffc/main] Rev 1684: Change code generation for evaluate_basis and

 

Which compiler options did you use when evaluating the speed up?

Garth



On 12 September 2011 18:38,  <noreply@xxxxxxxxxxxxx> wrote:
> Merge authors:
>  Marie Rognes (meg-simula)
> ------------------------------------------------------------
> revno: 1684 [merge]
> committer: Marie E. Rognes <meg@xxxxxxxxx>
> branch nick: trunk
> timestamp: Mon 2011-09-12 19:23:01 +0200
> message:
>  Change code generation for evaluate_basis and
>  evaluate_basis_derivatives by unrolling loops at FFC compile
>  time.
>
>  Speeds-up generated code, especially for higher than 1st order.
>
>  Very grateful for all those unit tests for evaluate_basis*!
> modified:
>  ffc/evaluatebasis.py
>  test/regression/references/r_auto/AdaptivePoisson.h
>  test/regression/references/r_auto/AdaptivePoisson.out
>  test/regression/references/r_auto/AlgebraOperators.h
>  test/regression/references/r_auto/Biharmonic.h
>  test/regression/references/r_auto/Biharmonic.out
>  test/regression/references/r_auto/CoefficientOperators.h
>  test/regression/references/r_auto/Components.h
>  test/regression/references/r_auto/Conditional.h
>  test/regression/references/r_auto/Conditional.out
>  test/regression/references/r_auto/Constant.h
>  test/regression/references/r_auto/Elasticity.h
>  test/regression/references/r_auto/EnergyNorm.h
>  test/regression/references/r_auto/Equation.h
>  test/regression/references/r_auto/FacetIntegrals.h
>  test/regression/references/r_auto/FacetRestrictionAD.h
>  test/regression/references/r_auto/Heat.h
>  test/regression/references/r_auto/HyperElasticity.h
>  test/regression/references/r_auto/Mass.h
>  test/regression/references/r_auto/Mass.out
>  test/regression/references/r_auto/MathFunctions.h
>  test/regression/references/r_auto/MetaData.h
>  test/regression/references/r_auto/Mini.h
>  test/regression/references/r_auto/Mini.out
>  test/regression/references/r_auto/MixedMixedElement.h
>  test/regression/references/r_auto/MixedMixedElement.out
>  test/regression/references/r_auto/MixedPoisson.h
>  test/regression/references/r_auto/NavierStokes.h
>  test/regression/references/r_auto/NeumannProblem.h
>  test/regression/references/r_auto/Normals.h
>  test/regression/references/r_auto/Optimization.h
>  test/regression/references/r_auto/Optimization.out
>  test/regression/references/r_auto/P5tet.h
>  test/regression/references/r_auto/P5tet.out
>  test/regression/references/r_auto/P5tri.h
>  test/regression/references/r_auto/P5tri.out
>  test/regression/references/r_auto/Poisson.h
>  test/regression/references/r_auto/PoissonDG.h
>  test/regression/references/r_auto/QuadratureElement.h
>  test/regression/references/r_auto/QuadratureElement.out
>  test/regression/references/r_auto/ReactionDiffusion.h
>  test/regression/references/r_auto/RestrictedElement.h
>  test/regression/references/r_auto/RestrictedElement.out
>  test/regression/references/r_auto/SpatialCoordinates.h
>  test/regression/references/r_auto/SpatialCoordinates.out
>  test/regression/references/r_auto/StabilisedStokes.h
>  test/regression/references/r_auto/Stokes.h
>  test/regression/references/r_auto/Stokes.out
>  test/regression/references/r_auto/SubDomain.h
>  test/regression/references/r_auto/SubDomains.h
>  test/regression/references/r_auto/TensorWeightedPoisson.h
>  test/regression/references/r_auto/VectorLaplaceGradCurl.h
>  test/regression/references/r_auto/VectorLaplaceGradCurl.out
>  test/regression/references/r_auto/VectorPoisson.h
>  test/regression/references/r_auto/X_Element0.h
>  test/regression/references/r_auto/X_Element0.out
>  test/regression/references/r_auto/X_Element1.h
>  test/regression/references/r_auto/X_Element1.out
>  test/regression/references/r_quadrature/AdaptivePoisson.h
>  test/regression/references/r_quadrature/AdaptivePoisson.out
>  test/regression/references/r_quadrature/AlgebraOperators.h
>  test/regression/references/r_quadrature/Biharmonic.h
>  test/regression/references/r_quadrature/Biharmonic.out
>  test/regression/references/r_quadrature/CoefficientOperators.h
>  test/regression/references/r_quadrature/Components.h
>  test/regression/references/r_quadrature/Conditional.h
>  test/regression/references/r_quadrature/Conditional.out
>  test/regression/references/r_quadrature/Constant.h
>  test/regression/references/r_quadrature/Elasticity.h
>  test/regression/references/r_quadrature/EnergyNorm.h
>  test/regression/references/r_quadrature/Equation.h
>  test/regression/references/r_quadrature/FacetIntegrals.h
>  test/regression/references/r_quadrature/FacetRestrictionAD.h
>  test/regression/references/r_quadrature/Heat.h
>  test/regression/references/r_quadrature/HyperElasticity.h
>  test/regression/references/r_quadrature/Mass.h
>  test/regression/references/r_quadrature/Mass.out
>  test/regression/references/r_quadrature/MathFunctions.h
>  test/regression/references/r_quadrature/MetaData.h
>  test/regression/references/r_quadrature/Mini.h
>  test/regression/references/r_quadrature/Mini.out
>  test/regression/references/r_quadrature/MixedMixedElement.h
>  test/regression/references/r_quadrature/MixedMixedElement.out
>  test/regression/references/r_quadrature/MixedPoisson.h
>  test/regression/references/r_quadrature/NavierStokes.h
>  test/regression/references/r_quadrature/NeumannProblem.h
>  test/regression/references/r_quadrature/Normals.h
>  test/regression/references/r_quadrature/Optimization.h
>  test/regression/references/r_quadrature/Optimization.out
>  test/regression/references/r_quadrature/P5tet.h
>  test/regression/references/r_quadrature/P5tet.out
>  test/regression/references/r_quadrature/P5tri.h
>  test/regression/references/r_quadrature/P5tri.out
>  test/regression/references/r_quadrature/Poisson.h
>  test/regression/references/r_quadrature/PoissonDG.h
>  test/regression/references/r_quadrature/QuadratureElement.h
>  test/regression/references/r_quadrature/QuadratureElement.out
>  test/regression/references/r_quadrature/ReactionDiffusion.h
>  test/regression/references/r_quadrature/RestrictedElement.h
>  test/regression/references/r_quadrature/RestrictedElement.out
>  test/regression/references/r_quadrature/SpatialCoordinates.h
>  test/regression/references/r_quadrature/SpatialCoordinates.out
>  test/regression/references/r_quadrature/StabilisedStokes.h
>  test/regression/references/r_quadrature/Stokes.h
>  test/regression/references/r_quadrature/Stokes.out
>  test/regression/references/r_quadrature/SubDomain.h
>  test/regression/references/r_quadrature/SubDomains.h
>  test/regression/references/r_quadrature/TensorWeightedPoisson.h
>  test/regression/references/r_quadrature/VectorLaplaceGradCurl.h
>  test/regression/references/r_quadrature/VectorLaplaceGradCurl.out
>  test/regression/references/r_quadrature/VectorPoisson.h
>  test/regression/references/r_quadrature/X_Element0.h
>  test/regression/references/r_quadrature/X_Element0.out
>  test/regression/references/r_quadrature/X_Element1.h
>  test/regression/references/r_quadrature/X_Element1.out
> The size of the diff (178020 lines) is larger than your specified limit of 1000 lines
>
> --
> lp:ffc
> https://code.launchpad.net/~ffc-core/ffc/main
>
> Your team FFC Core Team is subscribed to branch lp:ffc.
> To unsubscribe from this branch go to https://code.launchpad.net/~ffc-core/ffc/main/+edit-subscription
>


Follow ups