Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ghost translation #1006

Open
wants to merge 113 commits into
base: dev
Choose a base branch
from
Open

Conversation

markusbattarbee
Copy link
Contributor

Replaces #609
Incorporates #1000

This PR introduces ghost translation (previously known as local translation). Allows for running all Vlasov translation with coalesced MPI just before the actual call, reducing the overhead related to 3D imbalances. This comes at the cost of having to actually compute translation for a boundary of ghost cells. This also requries a grid neighborhood of VLASOV_STENCIL_WIDTH+1 which does incur some overhead.

Turn on ghost translation with vlasovsolver.GhostTranslate set to true. This current form of the PR forces this on so we get CI with it active, but it should probably be turned off as default.

The correctness of this method was validated with local tests but this PR should re-confirm it with CI. If so preferred, a smaller ghost neighbourhood can be translated instead of all required, resulting in some diffs at process boundaries, but less of an overhead. This might be useful for example for early flushing of a simulation. The size of the stencil to include in ghost translation can be set withvlasovsolver.GhostTranslateExtent. The parameter has a default of 0 which is automatically replaced with VLASOV_STENCIL_WIDTH+1. Values greater than that are capped. Thus, possible values are between 1 and VLASOV_STENCIL_WIDTH+1.

markusbattarbee and others added 30 commits February 4, 2022 12:59
…is at higher refinement level instead of continuing over VLASOV_STENCIL_WIDTH
…arbee/vlasiator-public into AMR_translation_optimizations
Extra padding is no longer required, since dccrg is now behaving much
more sanely wrt. neighbors.
grid.h Show resolved Hide resolved
parameters.h Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants