[petsc-dev] VecScatter

Dmitry Karpeev karpeev at mcs.anl.gov
Tue Jan 4 15:45:40 CST 2011


VecScatter, at least the PtoP and PtoS versions, computes what amounts to a
"localToGlobal" map, which is used
to set up the communication datastructures, but is later discarded.  This
information appears, for example,
as the the inidx and inidy index array pair that VecScatterCreate_PtoP
passes to VecScatterCreate_PtoS
and later frees.  It would be very useful to retain this information for my
work on FETI-adapted matrices.
Would it be okay if I stashed this info in _p_VecScatter?

I realize that this cuts a bit too close to PETSc's critical functionality,
but it seems to me that this is only
minimally intrusive. The alternative would be to reconstruct this
information from VecScatter's to/from->indices,
but these are (re)arranged by the receiving proc and searching through those
isn't as convenient.  Of course,
for the special case scatters (SStoSG, MPItoAll, etc) the reconstruction has
to take place in any event,
but I thought it would be useful to avoid it where the equivalent info is
already computed as part of the
scatter's constructor.

Any thoughts/objections?

Dmitry.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110104/d586d96a/attachment.html>


More information about the petsc-dev mailing list