AMReX-Astro / AMReX-Astro/Microphysics
regenerate the helmtable without needing std::log10
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 43
- Forks
- 46
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 15
Description
One of the most expensive parts of the Helmholtz EOS (on GPUs) is taking the log to T, rho each time we need to find the index into the electron table. We should regenerate the table with a different spacing that doesn't require the log. Some ideas are contained in this paper:
https://arxiv.org/abs/2206.08957
and the code appears here:
This will require us to write a standalone EOS that computes the F-D integrals to tabulate the electron-positron values. This would be nice to have in any case, because it would allow us to sync up the values of the fundamental constants.
Contributor guide
No contributing guide indexed for this repository
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
Read the referenced paper and the logs.hpp fast-math implementation first. Then trace the Helmholtz EOS electron-table lookup and determine the standalone EOS and table-generation entry points needed for F-D integrals. Done means the electron-positron table uses spacing that avoids std::log10 and the standalone EOS can keep its fundamental constants synchronized.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100