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

Generic halo exchange functions #73

Closed
8 tasks done
Tracked by #62
kaipartmann opened this issue Apr 16, 2024 · 1 comment · Fixed by #75
Closed
8 tasks done
Tracked by #62

Generic halo exchange functions #73

kaipartmann opened this issue Apr 16, 2024 · 1 comment · Fixed by #75
Labels
enhancement New feature or request high priority parallelization Related to MPI or threading etc.
Milestone

Comments

@kaipartmann
Copy link
Owner

kaipartmann commented Apr 16, 2024

The current implementation of the halo functions is too limited. For the implementation of thermal models or surface correction, functions like

halo_exchange!(dh, (:position, :somefield))

would be very helpful.


  • Renaming read_halo -> loc_to_halo (local values exchanged to halo fields; short: lth)
  • Renaming write_halo -> halo_to_loc (halo field values exchanged with += to local fields; short: htl)
  • Remove the check if it has lth or htl exchanges; always get these infos!
  • [MPIDataHandler] Generic function exchange_loc_to_halo!(data_handler, fields) with also the method exchange_loc_to_halo!(data_handler) which gets the fields from the loc_to_halo_fields(storage) function
  • [ThreadsDataHandler] Generic function exchange_loc_to_halo!(data_handler, fields) with also the method exchange_loc_to_halo!(data_handler) which gets the fields from the loc_to_halo_fields(storage) function
  • [MPIDataHandler] Generic function exchange_halo_to_loc!(data_handler, fields) with also the method exchange_halo_to_loc!(data_handler) which gets the fields from the halo_to_loc_fields(storage) function
  • [ThreadsDataHandler] Generic function exchange_halo_to_loc!(data_handler, fields) with also the method exchange_halo_to_loc!(data_handler) which gets the fields from the halo_to_loc_fields(storage) function
  • Add a generic buffer which gets buffers if a field is a halo field (maybe checked with is_halo_field)
@kaipartmann kaipartmann added enhancement New feature or request parallelization Related to MPI or threading etc. labels Apr 16, 2024
@kaipartmann kaipartmann mentioned this issue Apr 17, 2024
20 tasks
@kaipartmann
Copy link
Owner Author

This is needed for #74, so it is a high priority now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high priority parallelization Related to MPI or threading etc.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant