Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FInAT transition plan #75

Closed
15 tasks done
miklos1 opened this issue Oct 27, 2016 · 1 comment
Closed
15 tasks done

FInAT transition plan #75

miklos1 opened this issue Oct 27, 2016 · 1 comment

Comments

@miklos1
Copy link
Member

miklos1 commented Oct 27, 2016

Outstanding tasks before switching to FInAT:

  • Make the whole test suite pass.
    • Fix the rounding of FIAT tabulation matrices.
  • Optimise evaluation of quantities that are constant on the integration entity.
  • Code snippet efficiency for the Jacobian of affine simplices.
  • Structured code generation for VectorElement/TensorElement.
    • Optimise away Kronecker deltas for coefficients.
  • Structured code generation for TensorProductElement.
    • Sum factorisation for coefficients.
    • Sum factorisation for arguments.
  • Update the UFC kernel interface.

Things to do last before the switch:

  • Clean up the finat branch in TSFC and FInAT itself.
  • Have a look at the generated code for different problems to spot potential regressions. (The FFC regression tests can help with this.)
  • Look for regressions in form compilation speed and the performance of the generated code.
  • Test correctness and performance for a few critical projects (gusto, thetis).
  • Test the upgrade path (should just work).

Things that can wait until after the switch:

  • Structured code generation for EnrichedElement/MixedElement.
    • Sum factorisation for RTCF, RTCE, NCF, NCE elements and for the appropriate H(div) and H(curl) elements on triangular prism cells.
  • Use FInAT elements in Firedrake function spaces.
  • Retire tsfc.fiatinterface and the supporting routines.
  • Optimise away Kronecker deltas for arguments.
@miklos1
Copy link
Member Author

miklos1 commented Nov 16, 2016

Moved "optimise away Kronecker deltas for arguments" to the backlog. Since sum factorisation of arguments and argument factorisation will happen in COFFEE, this point might be difficult to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant