[petsc-dev] Merging VecScatter objects

Dmitry Karpeev karpeev at mcs.anl.gov
Tue Mar 30 14:55:10 CDT 2010

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)?


More information about the petsc-dev mailing list