lp:~mapdes/ffc/pyop2-iterationspace-extensions
- Get this branch:
- bzr branch lp:~mapdes/ffc/pyop2-iterationspace-extensions
Branch merges
Recent revisions
- 1802. By Florian Rathgeber
-
Using the pyop2 backend, compile form returns a dict instead of string
The PyOP2 iteration space concept allows optimisation of putting code
at the right depth of the generated loop nest s.t. it is executed the
minimum number of times necessary. To enable that flexibility it is
necessary to return pieces of code generated by FFC that should be
placed at different depths in the loop nest as separate pieces of code
instead of returning a single monolithic kernel function as it is
normally the case with FFC.As a first step we split the kernel body into three parts:
* declarations of (global) constants s.a. basis functions and
quadrature weights
* computations that do not vary over an element and hence should only
be done once per element i.e. computation of the Jacobian
* the actual expression for local assembly of the integral for a given
pair i,j of basis functionsThese are returned separately as part of a dictionary (instead of a
single string) that also contains the monolithic kernel function as
before for backwards compatibility and for benchmarking purposes. - 1793. By Graham Markall
-
Cherrypick FFC trunk revisions 1762, 1763, and 1782 (all required to pass tests again).
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:ffc