<div dir="ltr"><div><div><div><div>Ha!  Thanks, Barry -- your way with words is always appreciated. =)<br><br></div>Matt, the inheritance model *is* kinda sucky and broken but at least you guys didn't use C++, so I'll take it.  I will take a look at the different subclasses (including the one that I wrote =) ) to refresh my memory about how to do this correctly.<br><br></div>I need to get an initial implementation in place first, but I'll go ahead and ask about how I'll eventually need to set things up in BuildSystem for this.  Perhaps I should follow a similar model to the MKL Pardiso support, i.e., make the user explicitly ask for this?  Something like '--with-mkl_spmv2-dir=LOCATION_OF_INTEL_MKL'?<br><br></div>What is the workflow for making changes to BuildSystem these days?  Do we have this documented somewhere?  I ask because I'll need to add something for configuring the MKL inspector-executor stuff, and also because, in a separate issue, I need to add support for the memkind library (<a href="https://github.com/memkind/memkind">https://github.com/memkind/memkind</a>).  (Yes, Jed, I know you don't like it but it's what we've got for now for using KNL MCDRAM.  I hope someone comes up with an intelligent middleware approach to dealing with this at some point.)<br><br></div>--Richard<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 30, 2015 at 8:06 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="">Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> writes:<br>
<br>
>> On Sep 30, 2015, at 9:48 AM, Jed Brown <<a href="mailto:jed@jedbrown.org">jed@jedbrown.org</a>> wrote:<br>
>><br>
>> Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> writes:<br>
>>> Richard, this is somewhat subtle since PETSc's inheritance model is sucky<br>
>>> and somewhat broken. Look at<br>
>>> the factorization classes, AIJMUMPS etc., before coding anything.<br>
>><br>
>> Richard wants to use the MKL implementations of stuff like MatMult and<br>
>> MatAXPY, not just factorization.  So it doesn't look like AIJMUMPS.<br>
><br>
>   Jed and Matt,<br>
><br>
>    Remember Richard actually wrote the subclasses of AIJ for the Cray vector machine so you guys are teaching your grandmother to suck eggs.<br>
<br>
</span>Where is @shitbsmithsays when you need it?<br>
<br>
>   Barry<br>
</blockquote></div><br></div>