<div class="gmail_quote">On Tue, Jan 3, 2012 at 18:09, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">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=":4yb"> It is not just the reference BLAS. It is the -lblas that come on many Linux systems by default (that are not much more than compiled versions of the reference blas).<br>
<br>
   Now you can say that you don't care about that situation, and those blas are stupid but it is a common situation and saying that is stupid doesn't help all those users who spend way to much time on norm.<br></div>
</blockquote><div><br></div><div>Okay.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":4yb">
<div class="im"><br>
<br>
> If the concern is just this routine and just on x86-64, I would be inclined to write a simple vectorized implementation (probably using SSE intrinsics) that still includes the stability stuff.<br>
><br>
</div>    I don't think the stability stuff is needed for how norm() is used in PETSc (if it is important how come it is not important for the dot products also?).  It is just there for pathological matrices the LINPACK guys knew about; I consider it just a fetish that got the LINPACK guys excited.<br>
</div></blockquote><div><br></div><div>Well, the "trick" can't be done simply for dot product because it is not monotone.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":4yb">
<div class="im"><br>
<br>
> Whatever the case, I'm not a fan of replacing nrm2() with dot().<br>
<br>
</div>   Why not? If the dot is highly optimized it may be faster than your own hand coded blas thing.<br></div></blockquote><div><br></div><div>1. It is not conforming code because Fortran disallows aliasing.</div><div>
<br></div><div>2. Who is going to test what is faster?</div></div>