On Jan 4, 2011, at 3:45 PM, Dmitry Karpeev wrote: > 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? > Fine, whatever. What about saving it only if some option is set, so we don't waste the memory otherwise?
Barry > 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.
