AMReX-Astro / AMReX-Astro/Castro
verify that MHD is tile safe
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 340
- Forks
- 105
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 8
Description
PR #2039 turned tiling back on in the MHD solver. We previously disabled it (#289), but that was back when the solver was in Fortran and not ported to the GPU yet. It appears to work now, but we should double check that there are no threading issues.
The main place where an issue can come up is for nodal data when two threads might write to the same location at the same time. This is why we want to size temporary data to the tile box rather than to the full box, in general. We should look through the code to see if there are any potential issues.
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
Start by reviewing PR #2039 and the earlier disabling issue #289 to understand the MHD solver's tiling history. Inspect the MHD solver's nodal-data handling and temporary-data sizing for writes that could overlap across threads. Done means confirming tile safety or documenting and addressing a reproducible threading issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100