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

Support elements with pointers in partition #1303

Open
lukasdreyer opened this issue Nov 14, 2024 · 2 comments
Open

Support elements with pointers in partition #1303

lukasdreyer opened this issue Nov 14, 2024 · 2 comments
Assignees

Comments

@lukasdreyer
Copy link
Collaborator

Feature request

Currently, in t8_forest_partition, elements are put into the sendbuffer by memcpy. This does not work with elements that use pointers in their representation.

Is your feature request related to a problem? Please describe.
2.5D elements use pointers and can't be partitioned.

Describe the solution or feature you'd like
Replace copy to sendbuffer by new scheme interface function to pack elements that are next to each other (i.e. initialized in a t8_element_array, currently only there for elements created by t8_element_new).
Replace copy from recvbuffer by new scheme interface function to unpack elements that are next to each other.

Describe alternatives you've considered
The interface functions can be implemented by the default schemes with

  • a memcpy (If we do not care about different endianess on different ranks)
  • by providing their own MPI_DATATYPE
  • by explicitely calling the needed pack functions for the datatypes

Estimated priority

"Priority: high" Should be solved as soon as possible

@holke
Copy link
Collaborator

holke commented Nov 15, 2024

This builds on the data handler works of @Davknapp and should be possible once these are implemented.

@Davknapp
Copy link
Collaborator

This feature currently needs a review, but we have decided to take it slow to currently focus on more urgent implementations.
Nevertheless I would love to see the pack/unpack feature in use and would support you going in that direction

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

No branches or pull requests

3 participants