On Thu, May 24, 2012 at 4:16 PM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><div class="gmail_quote">On Thu, May 24, 2012 at 3:10 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">

Absolutely. And if it turns out to be too much of a pain to write and maintain such a kernel there is something wrong with our programming model and code development system. The right system should make all the complexity fall away; when the complexity becomes too much of a bear you know you have the wrong system.</blockquote>

</div><br></div><div>So do we manage blocks using internal C++ templates, "templates in C", C generated using some other system (m4 anyone?), or something else entirely?</div>
</blockquote></div><br>Yes! Finally, we acknowledge that this a problem.<div><br></div><div>1) C++ templates are not a solution to anything. ANYTHING.</div><div><br></div><div>2) I am assuming "templates in C" would work somewhat like a templating engine.</div>
<div>    I tried this for the last TOMS paper with Andy. Its was just not a big payoff for</div><div>    the work put in, and definitely did not justify incorporating another package.</div><div><br></div><div>3) I prefer C generated from another system, like the one I use for FEM (which I am</div>
<div>    not attached to). We will definitely need this for GPU kernels, and I am guessing</div><div>    thread kernels if they are going to be worth something.</div><div><br></div><div>    Matt<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<br>
</div>