<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jan 15, 2014 at 7:16 AM, Michael Lange <span dir="ltr"><<a href="mailto:michael.lange@imperial.ac.uk" target="_blank">michael.lange@imperial.ac.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I am trying to implement a computation-communication overlap with DMPlex, where local values that do not need to be sent are updated while the DM/SF is broadcasting the ghost values (DMGlobalToLocal() or PetscSFBcast(), I've tried both). The problem is that this only works if I force the broadcast to end before the computation is performed, but it fails if they actually overlap. In that case it seems that the updates to the global Vec are ignored completely. Am I missing something here or can somebody point me to a working example that does comp-comm overlap with DMPlex?<br>
</blockquote><div><br></div><div>0) You would first need to divide the computation units (cells for FEM) into boundary and interior, which I do not currently do. Then you can</div><div><br></div><div>     DMLocalToLocalBegin()</div>
<div>    <compute interior></div><div>    DMLocalToLocalEnd()</div><div>    <compute boundary></div><div><br></div><div>1) DMGlobalToLocal() copies the entire local vector, so it is not really what you want. You want LocalToLocal(), which I do not currently</div>
<div>    make. Its not hard. You take the GlobalToLocal map and remove everything that is not on the boundary, meaning everything in the SF</div><div>    that comes from the same proc. So you make another SF, and use the same PetscSFBcast() in DMLocalToLocal().</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">
Kind regards<span class="HOEnZb"><font color="#888888"><br>
Michael Lange<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>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>