Skip to content

refactor: use the Buffer and BoundingBox types to perform the communication packing / unpacking in Axis & ConstrainedTransport classes - #385

Merged
glesur merged 8 commits into
idefix-code:developfrom
svalat:refactor/mpi-exchanges-use-buffer-packer
Jul 8, 2026
Merged

refactor: use the Buffer and BoundingBox types to perform the communication packing / unpacking in Axis & ConstrainedTransport classes#385
glesur merged 8 commits into
idefix-code:developfrom
svalat:refactor/mpi-exchanges-use-buffer-packer

Conversation

@svalat

Copy link
Copy Markdown
Collaborator

What

Replace the hand made buffer packing by using BoundingBox and Buffer into the Axis class in preparation to a larger refactoring to latter use the Exchanger class into Axis to manage the communications.

Process made in 3 steps

  1. Add the new communication way (duplicate)
  2. Compare both while running
  3. Removing old.

Needed a add UnpackJDirSymetric() in Buffer class.

Validation

  • 32 MPI process on MHD/AxisFluxTube in bound check + dual communication (new & old compared in flight by asserts)
  • Test suite on MHD/AxisFluxTube MPI.

Squash

I let the steps commits in the branch, but they can be squashed for the merge in develop.

@svalatsvalat changed the title refactor: use the Buffer and BoundingBox types to perform the communication packing / unpacking in Axis classrefactor: use the Buffer and BoundingBox types to perform the communication packing / unpacking in Axis & ConstrainedTransport classesJul 6, 2026
@svalat
svalatforce-pushed the refactor/mpi-exchanges-use-buffer-packer branch from 1734561 to 986505bCompareJuly 6, 2026 11:38
@glesurglesur added the refactor refactorisation of internal code without affecting the results label Jul 8, 2026
@glesur
glesur merged commit 39ff467 into idefix-code:developJul 8, 2026
41 checks passed
svalat added a commit to svalat/idefix that referenced this pull request Aug 17, 2026
glesur pushed a commit that referenced this pull request Aug 18, 2026
… ./test.py (#399)
* test: Fix missing protagation of return status when calling pytest in ./test.py
* fix: fix an issue coming from the previous refactoring about accessing a GPU buffer on CPU
* fix: Fix some warnings about unused variabled blocking the test suite
* test: fix utils/lookupTable test by adding possibility to call a python function from testme.json
* fix: communication issue introduced during the comm refactoring in recent commit of PR #385.
* fix: add missing new file testmelib.py in test/utils/lookupTable
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactorrefactorisation of internal code without affecting the results

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@svalat@glesur