Split generation of elements and forms

Issue #90 resolved
Martin Sandve Alnæs created an issue

Jitting element classes separately from forms and reusing across forms will result in less compiled code overall, reducing disk cache size, reducing compilation time of forms, speeding up dolfin test suite which jits a lot of forms, memory usage in programs with many forms with the same elements, and world peace.

Here are some subtasks to get this working:

  1. Use split header and implementation instead of combined templates for all classes in jit compiler.

  2. Forms and elements with subelements depend on other classes, so when files are split up we need to add #include fooelement.h (or possibly just create_foo declarations) in generated implementation files.

  3. Implement jitting of dofmap, finite_element, and coordinate_mapping classes separately without form, using element signature instead of number to create classname. Some kind of hash of repr(ufl_element) + possibly build options should be a good signature.

Comments (12)

  1. Log in to comment