FEniCS / FEniCS/ffcx

Unit stride access of blocked Coefficients

Open
#713 3 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.