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

[WIP] Configure-time specification of which kernels to instantiate for dispatching #2565

Draft
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

wrtobin
Copy link
Collaborator

@wrtobin wrtobin commented Jul 10, 2023

  • CMake functionality for parsing JSON kernel spec and generating source files from templates.
  • Add kernel instantiation template source files
  • Test on lassen
  • Test on tioga
  • Test on quartz

@rrsettgast
Copy link
Member

hi @johnbowen42 Sorry. I was supposed to do this a couple of weeks ago. @wrtobin had started the task we discussed, but is pretty overloaded. Perhaps you would be ok picking this up?

Here is an issue with some discussion on the matter:
#1994

@wrtobin
Copy link
Collaborator Author

wrtobin commented Oct 9, 2023

Just grabbed the template source files and default kernels json, which IIRC I was unhappy with the overall format of and was in the middle of modifying / reducing which is why it wasn't already committed.
The kernel template instantiation source file generation should be bare-bones operable after that commit.

rrsettgast and others added 2 commits October 9, 2023 19:28
…for kernel dispatch. Builds and runs (solid mechanics and poromechanics) with minimal kernel spec.
@klevzoff
Copy link
Contributor

@johnbowen42 I've just pushed my changes, the code is now in a state where it will compile, link and run (at least it does for me :) ).

It supports reduced kernel specs for kernels under solidMechanics/kernels and multiphysics/poromechanicsKernels. For some of those under fluidFlow, it generates translation units for instantiations, but does not fully support reduced kernel specs because the dispatch on the caller side is not modified and expects the full set of instantiations to be linked. As we discussed, this maybe worthwhile addressing in a follow up PR.

@corbett5 corbett5 self-assigned this Jul 15, 2024
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.

5 participants