Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements in code generation for Vector Elements #381

Merged
merged 13 commits into from
Aug 18, 2021

Conversation

IgorBaratta
Copy link
Member

First steps in optimizing the generated code for vector elements:

  • Group expressions by "scalar dofmap" (same table, same blocksize, different offset).
  • Identify "block" invariant code.

Limitations:
Array of Structures XYZXYZXYZ impairs vectorization efficiency.

Example Elasticity.ufl (100'000 cells):

elasticity2
elasticity3
elasticity4

No difference for degree 1.

ffcx/ir/integral.py Outdated Show resolved Hide resolved
Copy link
Member

@garth-wells garth-wells left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just tiny suggestions.

@garth-wells garth-wells merged commit e3f7122 into main Aug 18, 2021
@garth-wells garth-wells deleted the igor/rmv_dofrange branch August 18, 2021 09:35
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