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

Split fe_values.h and fe_values.cc into three files each. #15829

Merged
merged 1 commit into from Aug 4, 2023

Conversation

drwells
Copy link
Member

@drwells drwells commented Aug 2, 2023

In 367243a (PR #15575) I removed SPLIT_INSTANTIATIONS_INDEX et al from fe_values.cc. This was fine for -O2 but with -O3 -march=native this file now takes several minutes to compile.

The majority of our compilation time here is in FEValuesViews - ultimately I'd like to split that up. This commit performs one step towards splitting that up by splitting up fe_values.h and fe_values.cc into separate files for FEValuesViews, FEValues, and FEValuesBase.

Conflicts with #15819.

@drwells
Copy link
Member Author

drwells commented Aug 2, 2023

/rebuild

In 367243a (PR 15575) I removed SPLIT_INSTANTIATIONS_INDEX et al from
fe_values.cc. This was fine for -O2 but with -O3 -march=native this file now
takes several minutes to compile.

The majority of our compilation time here is in FEValuesViews - ultimately I'd
like to split that up. This commit performs one step towards splitting that up
by splitting up fe_values.h and corresponding source files into files for
FEValuesViews, FEValues, and FEValuesBase.
Comment on lines +35 to 38
#include <deal.II/fe/fe_values_base.h>
#include <deal.II/fe/fe_values_extractors.h>
#include <deal.II/fe/mapping.h>
#include <deal.II/fe/mapping_related_data.h>
Copy link
Member

Choose a reason for hiding this comment

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

Shouldn't we add here also fe_values_views.h to keep backward compatibility with user codes?

Copy link
Member Author

Choose a reason for hiding this comment

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

Maybe? What we have now is backwards-compatible because that header file is included by fe_values_base.h. We could add it to be explicit.

Since setting up FEValuesViews objects is the responsibility of the base class I think it should remain a transitive inclusion.

@tamiko tamiko merged commit 11ad23e into dealii:master Aug 4, 2023
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants