<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">I’ve been wondering about how to automate some level of correctness testing in HPGMG.   I’m trying figure out if there are some computable limits to how much a compliant implementation *could* deviate from other compliant implementations.  </div><div class=""><br class=""></div><div class="">The concern is not trivial.  I’ve spent some time re-reading Precimonious paper (<a href="http://eecs.berkeley.edu/~rubio/includes/sc13.pdf" class=""><span class="result__url__domain">eecs.berkeley.edu</span><span class="result__url__full">/~rubio/includes/sc13.pdf</span></a>) and I realize that it would not be hard to make a faster version of FMG using mixed precision.  There have been papers over the last few years using 4-byte AMG as a preconditioner and that seems to work well for many applications.  FPGA computing platforms or accelerators also will want to push this envelope. </div><div class=""><br class=""></div><div class="">This is added to the other issues like faster FMAs that might not be totally standard, or fast division.    Our initial condition is also based on trig functions, which have the Table Maker’s Dilemma. The older x86 fsin instruction had a wide variability.   We could try to mitigate these effects (supply the trig function code expressed as in basic operations ie. Hart and Cheney, replace divisions in the reference code with multiplications when we know they are correct replace 1/(h*h) with DIM*DIM).  Or perhaps we do none of these things and see what kind of results people dare to submit.</div><div class=""><br class=""></div><div class="">I would guess the TOP500 effort is aware of this with the introduction of mixed-precision LINPACK in the last few years (like GHPL).</div><div class=""><br class=""></div><div class="">So, thoughts?</div><div class=""><br class=""></div><div class="">Brian</div><div class=""><br class=""></div><br class=""><div apple-content-edited="true" class="">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class=""><div class=""><font class="Apple-style-span" face="'Courier New'">Brian Van Straalen         Lawrence Berkeley Lab</font></div><div class=""><font class="Apple-style-span" face="'Courier New'"><a href="mailto:BVStraalen@lbl.gov" class="">BVStraalen@lbl.gov</a>         Computational Research</font></div><div class=""><font class="Apple-style-span" face="'Courier New'">(510) 486-4976             Division (<a href="http://crd.lbl.gov" class="">crd.lbl.gov</a>)</font></div></div><div class=""><br class=""></div><div class=""><br class=""></div></span><br class="Apple-interchange-newline">
</div>
<br class=""></body></html>