Actually, I don't think this would require DM to know that much than it does now:<div>DMDA has GlobalToLocal as well as VecGetArray, which provides both "restriction to local" (a coarse-granularity, heavy-weight operation), and "restrict to (a bunch of) stencil(s)" (a fine granularity lightweight "scatter").  </div>

<div>This encapsulates your notions of a "local space" and an "extended space", which, clearly, require</div><div>different access patterns.</div><div><br><div class="gmail_quote">On Tue, Dec 7, 2010 at 3:49 PM, Dmitry Karpeev <span dir="ltr"><<a href="mailto:karpeev@mcs.anl.gov">karpeev@mcs.anl.gov</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">This would require the analog of MatMatMult for scatters.<div>It shouldn't be that hard (if only MatScatter supported some way of getting out the "values").</div>

<div><div></div><div class="h5"><div><br><br><div class="gmail_quote">On Tue, Dec 7, 2010 at 3:47 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@59a2.org" target="_blank">jed@59a2.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div>On Tue, Dec 7, 2010 at 22:37, Dmitry Karpeev <span dir="ltr"><<a href="mailto:karpeev@mcs.anl.gov" target="_blank">karpeev@mcs.anl.gov</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>I may be out on a limb here, but the column DM could also encapsulate the scatter<div>that currently sits in the Mat object. By default the row DM could have an identity (noop) scatter.</div><div><br></div>
<div>Note that this is very natural from the DD standpoint: ASM/GASM/FieldSplit already define scatters that</div>

<div>scatter to a "subdomain" on which a  matrix/pc operate.  Currently, the VecScatter inside the subdomain Mat</div><div>will further scatter the Vec to the "local" part, on which the matrix then operates locally.  If the scatter is moved</div>





<div>out of Mat and into its column DM, than this double scatter can be avoided.</div></div></blockquote><div><br></div></div><div>Hmm, now the DM is starting to know a lot.  There are times where I think fusing scatters is good, but this one sounds tricky.  How would you implement this?</div>



<div><br></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>