Add interpolation filter at the sending side
Wendi-L opened this issue · 1 comments
Currently (up to MUI V1.1.3), the interpolation is done on the receiving side through samplers. It might be useful to add the interpolation in the sending side so that to minimise the overhead of sending over all the points from the sending side but the receiving side only needs a part of them.
This has been considered in the past but not taken forward as it is non-trivial as it means sending information about the interpolation requirements back - i.e. it changes the comms pattern of MUI
from: non-blocking send -> blocking receive
to: blocking receive (on sending side for interpolation requirements) -> non-blocking send (of interpolated data) -> blocking receive (of interpolated data)
The actual interpolation work is still being done somewhere in the coupled solution (albeit there may be more chance to "re-use" existing interpolation routines in the host code this way round), so the potential for reducing the amount of MPI data comes from whether you need to send less data to inform the interpolation on the host side than just send all data and interpolate on the client side.
I think this can be recorded as a potential future enhancement but careful consideration of the benefits compared to the added complexity of the workflow need to be taken into account.