AMReX-Astro / AMReX-Astro/Castro

verify that MHD is tile safe

Open
#2,040 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

hackathon mhd
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

  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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.