<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 21, 2013 at 6:38 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@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 id=":1eb">   Probably not, but petscsys.h includes petsc-private/petscimpl.h  petscvec.h includes petsc-private/vecimpl.h etc so I think all user code includes all the parts of petsc-private that PETSc code does.<br>
</div></blockquote><div><br></div><div style>Could we reasonably split those? Something that is always included by user code is not very "private". Can we put the essential parts in petscsysinline.h, petscvecinline.h?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1eb">
<br>
   Could we bag the ugly MPI logging macros and somehow use the "perfectly designed" MPI profiling level to gather the information? Sadly I think not, but would that be workable? (And still work with other MPI logging systems?)</div>
</blockquote></div><br>We have source code access so we should put our logging at a higher level. That stuff is meant to enable profiling without source code (just by linking differently). I think our choices are to namespace every intercept or to put the intercepts somewhere that they don't conflict with other libraries.</div>
</div>