Vectorized pairs over MPI - enhanchement?
When we do a pair (1 or 2) over MPI, the function is called on both nodes. If only one of the cells involved is active then we only schedule the pair task on the node that owns the active cell.
However, when both cells are active, we schedule the task on both nodes, which will update the fields in both cells (the local one and the foreign one). That's unnecessary. We do not need to update any property of foreign particles in DOPAIR1 and DOPAIR2. That's hard to do in the scalar versions because of the way there are designed. However, in the vectorized version we could skip the updates, cache construction and loops that run over non-local particles.
What do you think?
@pdraper one more item that could help on the long route to MPI.