Closed Arcadia197 closed 5 months ago
Additionally, I thought about the no-stage synching along the way with correcting internally. Are you sure this can be made working? If I look at it for example with CDF42 there should be points missing without enlarging the boundary. In the attached pdf the left orange point cannot be reconstructed on the receiver side without more points. Obviously we could send different points from the coarse side but this would be really tedious at the edges with reconstruction with level difference. Am I missing something? To be discussed together ..
Also just dumping my ideas that I had to implement new ways of synching:
As further tests showed no direct benefit I will close the PR for now as I would like to push further work into my branch and it is to be merged later.
In preparation to give synchronize ghosts more flexible ways of synching I deep dived into the current implementation.
I noticed the following:
I reworked the structure and now we do the following:
meta_send_all
). Keep track of the sizes for metadata and data as before.meta_send_all
and fill the sendBuffer with the necessary data. Here we save for each processor:meta_send_all
and copy if this neighborhood relation is internalThis enables us to:
Performance gain is visible, easy tests show 15% with blob_adaptive_2D_CDF62 which I normally use. I know 62 is probably not representative but probably this scales anyways better in 3D?