llnl / llnl/smith

Move to dynamically-determined polynomial orders on CPU and GPU

Open
#881 0 comments 0 reactions 0 assignees View on GitHub

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.

https://github.com/LLNL/serac/pull/880

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.