axom
axom copied to clipboard
Simplify logic handling skips in DistributedClosestPoint
We can simplify the logic that allows ranks to skip searches for query points from query partitions that are far away. We are currently sending short messages to let the searching rank to know it doesn't have to do a particular search. This complicated logic boils down to a way to account for the searches the rank can skip. It can be replaced as follows.
- All-gather the query mesh bounding boxes at the same time we all-gather the object mesh bounding box.
- Before the search loop begins, every rank compares its object bounding boxes with the gathered query bounding boxes to determine how many query partitions it is close to. This is how many messages it would receive.
- Change the search loop to loop over the number of messages it should receive.
This change can improve performance, because it removes the short skip messages. It is not likely to take longer to all-gather a second set of bounding boxes.
@gunney1 was this handled in #921, or is it still an ongoing concern?
This is a nice-to-have optimization
This was handled by PR https://github.com/LLNL/axom/pull/921, as @kennyweiss mentioned. Closing.