Skip to content

FE optimization - #3546

Merged
roystgnr merged 8 commits into
libMesh:develfrom
roystgnr:fe_optimization
May 15, 2023
Merged

FE optimization#3546
roystgnr merged 8 commits into
libMesh:develfrom
roystgnr:fe_optimization

Conversation

@roystgnr

Copy link
Copy Markdown
Member

More all_shape* specializations (and more usage of them) enables us to take advantage of tensor products in LAGRANGE HEX evaluations and of the special structure of RATIONAL_BERNSTEIN. Overall I've only shaved a couple percent off of LIBMESH_BENCHMARK, but it doesn't hit those cases super hard. IGA is much less slow now.

roystgnr added 8 commits May 10, 2023 14:51
This makes shape evaluations *much* faster for rational shape functions
This doesn't do anything directly but it might help compiler
optimization and it could definitely improve optimization in the future.
This helps speed up RATIONAL_BERNSTEIN maps a lot
This should let us use it for mapping functions (which can be expensive
to do one by one with RATIONAL_BERNSTEIN), not just basis functions.
To avoid the slow code paths in RATIONAL_BERNSTEIN we need to avoid
calling them *anywhere*.
This shaves a couple percent off of LIBMESH_BENCHMARK runs for me
@roystgnr

Copy link
Copy Markdown
Member Author

Refs #2935, where I've been stashing benchmark results.

@moosebuild

Copy link
Copy Markdown

Job Coverage on 4749734 wanted to post the following:

Coverage

1ad0d7 #3546 474973
Total Total +/- New
Rate 60.19% 60.21% +0.02% 89.74%
Hits 49186 49277 +91 175
Misses 32533 32564 +31 20

Diff coverage report

Full coverage report

Warnings

  • New new line coverage rate 89.74% is less than the suggested 90.0%

This comment will be updated on new commits.

@roystgnr
roystgnr merged commit e800665 into libMesh:devel May 15, 2023
@roystgnr
roystgnr deleted the fe_optimization branch May 15, 2023 20:29
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

Successfully merging this pull request may close these issues.

3 participants