<div dir="ltr">On Tue, Feb 19, 2013 at 4:51 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On Feb 19, 2013, at 3:43 PM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
<br>
> I've started adding support for using this library for memory primitives and some basic lock-free data structures.<br>
><br>
> <a href="http://concurrencykit.org/" target="_blank">http://concurrencykit.org/</a><br>
><br>
> Of course when threads are not used, we need some replacement. All the memory barriers and assignments become trivial and locks disappear so the no-threading variant is trivial to implement. My question now is whether to call ck_* functions directly from PETSc source or to always wrap them in Petsc* namespaced macros and inline functions.<br>

><br>
> I would normally always use a Petsc namespace for this kind of thing, but this library has convenient man pages and is, I think, the best thing out there for implementing these primitives. Wrapping everything in a Petsc* namespace would thus make it less direct to get down to the actual semantics (or a man page). Thus I have half a mind to treat it like MPI and just provide non-threaded implementations in petscck.h when !defined(PETSC_HAVE_CONCURRENCYKIT). Is this a bad idea?<br>

<br>
</div></div>  I can live with it. You, of course, are providing a --download-ck before writing a single line of code that uses ck.</blockquote><div><br></div><div style>I agree. Useless wrappers (TaoVec, TrilinosCommStuff) just clutter code and do not expand functionality.</div>
<div style><br></div><div style>What is your opinion of the longevity of support? Will we end up supporting this library?</div><div style><br></div><div style>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
   Barry<br>
<br>
<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>