Unit stride access of blocked Coefficients
Open
generated-code
performance
- Dominant language
- Python
- Stars
- 192
- Forks
- 45
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 17
Description
Running some benchmarks with @jhale we've noticed that there was a performance regression introduced in https://github.com/FEniCS/ffcx/pull/645.
More specifically, before the above PR any blocked Coeffcient (e.g. a vector-valued material property) would be first copied into a temporary outside of the quadrature loop such that in the hot loop it is accessed with unit stride, see removed logic https://github.com/FEniCS/ffcx/pull/645
For higher order quadrature rules (but otherwise simple scalar trees) this could lead to >30% performance regression.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.