Skip to content

Conversation

@EmilyBourne
Copy link
Collaborator

@EmilyBourne EmilyBourne commented Dec 17, 2025

As per #131 inheritance must be removed from kernels in order to port them to GPU. Concepts are used as a drop-in replacement for superclasses to enforce prototypes. This work is started with DomainGeometry's use in GMGPolar.

Merge Request - GuideLine Checklist

Guideline to check code before resolve WIP and approval, respectively.
As many checkboxes as possible should be ticked.

Checks by code author:

Always to be checked:

  • There is at least one issue associated with the pull request.
  • New code adheres with the coding guidelines
  • No large data files have been added to the repository. Maximum size for files should be of the order of KB not MB. In particular avoid adding of pdf, word, or other files that cannot be change-tracked correctly by git.

If functions were changed or functionality was added:

  • Tests for new functionality has been added
  • A local test was succesful

If new functionality was added:

  • There is appropriate documentation of your work. (use doxygen style comments)

If new third party software is used:

  • Did you pay attention to its license? Please remember to add it to the wiki after successful merging.

If new mathematical methods or epidemiological terms are used:

  • Are new methods referenced? Did you provide further documentation?

Checks by code reviewer(s):

  • Is the code clean of development artifacts e.g., unnecessary comments, prints, ...
  • The ticket goals for each associated issue are reached or problems are clearly addressed (i.e., a new issue was introduced).
  • There are appropriate unit tests and they pass.
  • The git history is clean and linearized for the merge request. All reviewers should squash commits and write a simple and meaningful commit message.
  • Coverage report for new code is acceptable.
  • No large data files have been added to the repository. Maximum size for files should be of the order of KB not MB. In particular avoid adding of pdf, word, or other files that cannot be change-tracked correctly by git.

@EmilyBourne EmilyBourne changed the title Ebourne gmgpolar template Template GMGPolar class on DomainGeometry Dec 17, 2025
@EmilyBourne EmilyBourne marked this pull request as draft December 17, 2025 12:20
@codecov
Copy link

codecov bot commented Dec 17, 2025

Codecov Report

❌ Patch coverage is 88.31776% with 25 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.10%. Comparing base (ceff5d4) to head (7f9f50e).

Files with missing lines Patch % Lines
include/GMGPolar/setup.h 84.37% 15 Missing ⚠️
src/ConfigParser/select_test_case.cpp 41.66% 7 Missing ⚠️
include/GMGPolar/writeToVTK.h 0.00% 2 Missing ⚠️
src/GMGPolar/gmgpolar.cpp 98.50% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #136      +/-   ##
==========================================
- Coverage   89.16%   89.10%   -0.07%     
==========================================
  Files          88       91       +3     
  Lines        5206     5214       +8     
==========================================
+ Hits         4642     4646       +4     
- Misses        564      568       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@EmilyBourne EmilyBourne force-pushed the ebourne_gmgpolar_template branch from 6dbfd1f to ae1aee5 Compare December 17, 2025 14:10
@EmilyBourne EmilyBourne marked this pull request as ready for review December 17, 2025 14:13
Copy link
Collaborator

@julianlitz julianlitz left a comment

Choose a reason for hiding this comment

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

📝

Copy link
Collaborator

@julianlitz julianlitz left a comment

Choose a reason for hiding this comment

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

The executables

src/convergence_order.cpp
src/weak_scaling.cpp
src/strong_scaling.cpp

are now broken, since they are not yet adjusted to the new interface.
Let me know if we want to fix this with this PR or deal with it in the future.

The interface will change again with the next upcoming changes, so it is likely not worth the effort to do this now.

@EmilyBourne
Copy link
Collaborator Author

The executables

src/convergence_order.cpp src/weak_scaling.cpp src/strong_scaling.cpp

are now broken, since they are not yet adjusted to the new interface. Let me know if we want to fix this with this PR or deal with it in the future.

The interface will change again with the next upcoming changes, so it is likely not worth the effort to do this now.

Are you sure? These files are compiled along with everything else and no errors are raised.
The constructor of GMGPolar is the same as before and template parameters can be implicit. As these files use a DomainGeometry whose type is known at compile time I don't think these files need to be changed. They just work out of the box.

Copy link
Collaborator

@julianlitz julianlitz left a comment

Choose a reason for hiding this comment

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

Yes the converge_order script compiles, but I cannot execute it anymore.
But can be fixed later.

All changes look fine to me. It's the first time that I have seen the 'final' keyword being used. :O

/ebourne_gmgpolar_template/scripts$ ./../build/convergence_order 
Kokkos ERROR: View (label="coeff_alpha") is being constructed before initialize() has been called
Backtrace:
[0x625bfc1ed1a9] 
[0x625bfc1c4d60] 
[0x625bfc168f57] 
[0x625bfc16b904] 
[0x625bfc154272] 
[0x625bfc149ec0] 
[0x77ff5fa2a1ca] 
[0x77ff5fa2a28b] __libc_start_main
[0x625bfc14d005] 
Aborted (core dumped)
/ebourne_gmgpolar_template/scripts$ 

@EmilyBourne
Copy link
Collaborator Author

Yes the converge_order script compiles, but I cannot execute it anymore. But can be fixed later.

I prefer to fix these things now especially if they are execution errors as it tests that the logic works as expected. Also it is good practice to keep the main clean so it can be used to bug hunt with bisection searching

@EmilyBourne
Copy link
Collaborator Author

Kokkos ERROR: View (label="coeff_alpha") is being constructed before initialize() has been called

Actually this doesn't look like a problem coming from this PR

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