[ET Trac] #2653: Carpet PreSync triggering syncs for all refinement levels unnecessarily

Samuel Cupp trac-noreply at einsteintoolkit.org
Thu Aug 10 09:28:40 CDT 2023


#2653: Carpet PreSync triggering syncs for all refinement levels unnecessarily

 Reporter: Samuel Cupp
   Status: new
Milestone: 
  Version: 
     Type: bug
 Priority: major
Component: Carpet

Comment (by Samuel Cupp):

Thinking about this problem again, I think that this PR is not the proper solution. The recursive syncs are not the core problem if I remember correctly. It has been some time since I’ve looked at this, but as I recall the core issue was when I had no BCs registered for a variable. I had another PR \(accepted a while ago\) that added a warning for this, but originally there was a silent issue when trying to sync \+ apply BCs to a variable with no BCs registered. Carpet PreSync sees that it is valid in the interior and schedules these routines, but the BC call is effectively empty because nothing is registered. It silently returns to the function and then continues on.

This means that it syncs every time something tries to read it because it is always at best `interior+ghosts`, and applying BCs always includes syncs. This ticket comes from the fact that the recursive part of the code accumulates these syncs, recursively syncs everything all the time, which is terrible.

There should be something in Carpet or Boundary that properly warns/errors due to this, but that doesn’t seem to be the case. Once this behavior is fixed, we can see if we need this change to the recursive part of the code or not. However, my current thinking \(having admittedly not looked at this for quite some time\) is that this is more a mitigation of the issue than a true fix.

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2653/carpet-presync-triggering-syncs-for-all
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.einsteintoolkit.org/pipermail/trac/attachments/20230810/e4d26448/attachment.htm>


More information about the Trac mailing list