Hi,<div><br></div><div>Are you on 32 or 64 bits? Our FP code is quite different on those two.</div><div>Can you have a run on .NET without the added denormal hack? We strike to</div><div>be as compatible as possible, specially when it comes to numerical stability</div>
<div>and output.</div><div><br><br><div class="gmail_quote">On Wed, Sep 21, 2011 at 10:00 AM, noisecrime <span dir="ltr">&lt;<a href="mailto:noise@noisecrime.com">noise@noisecrime.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Good news, looks like I may have found a solution to the problem.<br>
<br>
Though I probably need to do some further testing, it does indeed appear to<br>
be denormals causing the issue. After reading up on it online its been a<br>
very common problem for DSP/audio developers and thankfully there appears to<br>
be a simple solution.<br>
<br>
This page describes the problem and various solutions<br>
<a href="http://phonophunk.com/articles/pentium4-denormalization.php?pg=3" target="_blank">http://phonophunk.com/articles/pentium4-denormalization.php?pg=3</a><br>
<br>
I went with the simplest<br>
“On every location in the code where denormalization might occur, just add<br>
1.0e-24 to the float value, then subtract it again, that should fix it.”<br>
<br>
Doing that in just the lin_solve function such as<br>
<br>
x[i+N2J] =  denormal + (( x0[i+N2J] + a * (x[i-1+N2J] + x[i+1+N2J] +<br>
x[i+N2JN] + x[i+N2JP]) ) * oneOverC);<br>
x[i+N2J] -=  denormal;<br>
<br>
gives constant performance, though I suspect i&#39;ll need to add it to a few<br>
other places in the code as well.<br>
<font color="#888888"><br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://mono.1490590.n4.nabble.com/Weird-performance-problems-possibly-due-to-floats-and-precision-issues-tp3829087p3829895.html" target="_blank">http://mono.1490590.n4.nabble.com/Weird-performance-problems-possibly-due-to-floats-and-precision-issues-tp3829087p3829895.html</a><br>

</font><div class="im">Sent from the Mono - Dev mailing list archive at Nabble.com.<br>
_______________________________________________<br>
</div><div><div></div><div class="h5">Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</div></div></blockquote></div><br></div>