[petsc-dev] VecScatter

Barry Smith bsmith at mcs.anl.gov
Tue Jan 4 16:30:09 CST 2011


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.




More information about the petsc-dev mailing list