I think I need to merge several VecScatters S1, ..., Sn into a single VecScatter S, hoping that applying S will reduce the latency compared to applying S1 through Sn in sequence. The assumptions here are that all the Si operate between the same Vecs, that the target index ranges are disjoint and that at least one of the Vecs is an MPI Vec. Here are my questions: 1. Does anybody have any experience with something like this? 2. Is it even worth it trying to merge the scatters (the assumption is that the resulting S will be used many times)? 3. Is there an easy or existing way to do it? 4. If I have to do it, does anybody object to my introducing something like VecScatterMergeScatters(PetscInt nScatters, VecScatter scatters[], VecScatter *mergedScatter)?
Thanks. Dmitry.
