-
-
Notifications
You must be signed in to change notification settings - Fork 41
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
Remove generated kernel duplication #589
Conversation
Note that there is now an implicit dependency in the generation of the offsets. The list in Line 102 of forms.py is dependent on the |
I think the ordering is in the ufcx enum, not in dolfinx. I agree this is a weakness which should be addressed, though I am not quite sure how. One idea would be to provide a function (fixed code not generated). Is it worth it? I feel it is duplication - two ways of doing the same thing... |
As it is used in DOLFINx,
I see, it uses the |
@chrisrichardson could we go along at get this merged (and the PR in ufl), as it is getting quite tedious to keep up to date with rewrites of ffcx, and I haven't seen anyone having any objections regarding this PR |
…ds following reviewer comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't forget CI changes before merging.
Now that FEniCS/ufl#92 is merged, I think we need to merge this asap |
generates a
c
file withrepeated 1000 times.
This makes the code generation slow and not scalable with an increasing number of subdomains.
Running
ffcx
with a 1000 subdomains takes about 3.8 seconds, while 10000 takes ~43 seconds.This PR depends on:
FEniCS/ufl#92
and resolves
#447
The current PR with 1000 subdomains runs in 0.9 seconds and 10000 subdomains runs in 8 seconds.
The
c
-file in this branch is 570 lines with 10000 subdomains, while it is over 600 000 lines on the main branch