Move to dynamically-determined polynomial orders on CPU and GPU
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 245
- Forks
- 36
- Avg merge
- 8d 23h
- Merged PRs (30d)
- 4
Description
As discussed here:
mfem_dynamic_kernel_refactor.pdf
It's possible to change the underlying finite element kernels slightly to allow for runtime-selection of polynomial order (and quadrature rule), which can reduce the number of template parameters that appear in the physics modules, and improve compile times.
Also, the GPU shape function kernels are not being used currently and have become slightly out-of-date as a result. So, the GPU implementations should be updated to be consistent as well.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the linked mfem_dynamic_kernel_refactor.pdf and the discussion in pull request #880. Trace the finite element kernels and their CPU/GPU implementations, then verify that polynomial order and quadrature rule can be selected at runtime and that the GPU implementations are consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100