<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 1, 2016 at 8:23 AM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> writes:<br>
>> ghost values.  Also, who uses VecGhost _and_ VecAssembly for the same<br>
>> Vec?  That's quite wasteful; if you have local indexing, why not just<br>
>> use VecGhostUpdate(...,SCATTER_REVERSE)?<br>
>><br>
><br>
> I do not understand this argument. If you form the local part of each vector<br>
> using VecGetArray(), then you must call both VecAssembly()<br>
<br>
</span>No.  You only need to call VecAssembly if you use VecSetValues.  But if<br></blockquote><div><br></div><div>I thought we had state increase on getarray() as well, but its just locking.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
you have a ghosted vector, you would normally use VecGetArray and never<br>
bother with VecSetValues.</blockquote><div><br></div><div>Why would we assume people make the ghost values as well? However, if this</div><div>is the only case, I don't think putting it in is a great idea.</div><div><br></div><div>  Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
> and VecGhostUpdate(), which I think is the complaint.<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>