If you mean turning on DAZ and FTZ, they shouldn't. But there should have been a CPU flag to turn off NaNs too (i.e. create zero's instead). Maybe there is such a flag though, I don't know.
On Mon, Feb 8, 2016 at 8:13 PM, Ivica Bukvic <[email protected]> wrote: > Do denormal optimizations also handle NaNs? > > -- > Ivica Ico Bukvic, D.M.A. > Associate Professor > Computer Music > ICAT Senior Fellow > Director -- DISIS, L2Ork > Virginia Tech > School of Performing Arts – 0141 > Blacksburg, VA 24061 > (540) 231-6139 > [email protected] > www.performingarts.vt.edu > disis.icat.vt.edu > l2ork.icat.vt.edu > ico.bukvic.net > On Feb 8, 2016 1:59 PM, "Kjetil Matheussen" <[email protected]> > wrote: > >> Carl Hetherington has a good write up on denormals: >> http://carlh.net/plugins/denormals.php >> >> This is the most interesting point: >> >> "The P3 always has problems with denormals no matter what GCC flags or >> CPU modes are used.". >> >> So unless you want your program to function on a P3, you can safely >> compile >> your denormal-creating program with sse math and turn on DAZ and FTZ. >> You won't get any problems with denormals then. >> >> >> >> >> >> >> >> On Mon, Feb 8, 2016 at 4:13 PM, Ivica Ico Bukvic <[email protected]> wrote: >> >>> I thought this, too. I seem to (mis)remember somewhere that -O2 >>> optimization at compile-time would help with this, which is what pd-l2ork's >>> freeverb~ uses and still exhibits previously reported behavior. That said, >>> I wonder if denormals would also solve potential NaNs. At any rate, I've >>> updated freeverb~ to explicitly use denormal function's return value in >>> pd-l2ork and will run some tests and let you know. If you'd like to test it >>> out, download the latest deb dated 20160208 (64bit build only for the time >>> being). >>> >>> Best, >>> >>> Ico >>> >>> >>> On 2/8/2016 4:44 AM, Kjetil Matheussen wrote: >>> >>> Regarding denormals, if that's the problem, shouldn't it be good enough >>> to compile with -fpmath=sse -msse2 and run the following code one time >>> in the dsp thread? >>> >>> #ifdef __SSE__ >>> #ifdef __SSE2__ >>> #define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8040) >>> #else >>> #define AVOIDDENORMALS _mm_setcsr(_mm_getcsr() | 0x8000) >>> #endif >>> #else >>> # error "must compile with -fmpath=sse" >>> #endif >>> >>> >>> >>> >>> On Mon, Feb 8, 2016 at 10:28 AM, Kjetil Matheussen < >>> [email protected]> wrote: >>> >>>> You could use the faust version of freeverb and compile it for pd. It's >>>> probably less likely to have bugs. >>>> For instance by pasting >>>> http://sourceforge.net/p/faudiostream/code/ci/master/tree/examples/freeverb.dsp?format=raw >>>> into http://faust.grame.fr/onlinecompiler/ >>>> >>>> >>>> On Sun, Feb 7, 2016 at 4:08 AM, Ivica Bukvic < <[email protected]>[email protected]> >>>> wrote: >>>> >>>>> Thank you, Katja. Is there a newer version than this out there? >>>>> >>>>> Best, >>>>> >>>>> -- >>>>> Ivica Ico Bukvic, D.M.A. >>>>> Associate Professor >>>>> Computer Music >>>>> ICAT Senior Fellow >>>>> Director -- DISIS, L2Ork >>>>> Virginia Tech >>>>> School of Performing Arts – 0141 >>>>> Blacksburg, VA 24061 >>>>> (540) 231-6139 <%28540%29%20231-6139> >>>>> [email protected] >>>>> www.performingarts.vt.edu >>>>> disis.icat.vt.edu >>>>> l2ork.icat.vt.edu >>>>> ico.bukvic.net >>>>> On Feb 6, 2016 10:25 AM, "katja" <[email protected]> wrote: >>>>> >>>>>> If the freeverb~ version you use looks like the one in >>>>>> >>>>>> http://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/externals/freeverb~/freeverb~.c >>>>>> , >>>>>> there's a function 'fix_denorm_nan_float() defined starting at line >>>>>> 154. The function is called later (in line 225 and others) but the >>>>>> return value is never stored. Therefore freeverb~ doesn't flush >>>>>> denormals. >>>>>> >>>>>> On Sat, Feb 6, 2016 at 3:34 PM, Ivica Bukvic <[email protected]> wrote: >>>>>> > Thank you all. Looks like I've got some troubleshooting to do and >>>>>> will >>>>>> > report what I find. >>>>>> > >>>>>> > Best, >>>>>> > >>>>>> > -- >>>>>> > Ivica Ico Bukvic, D.M.A. >>>>>> > Associate Professor >>>>>> > Computer Music >>>>>> > ICAT Senior Fellow >>>>>> > Director -- DISIS, L2Ork >>>>>> > Virginia Tech >>>>>> > School of Performing Arts – 0141 >>>>>> > Blacksburg, VA 24061 >>>>>> > (540) 231-6139 <%28540%29%20231-6139> >>>>>> > [email protected] >>>>>> > www.performingarts.vt.edu >>>>>> > disis.icat.vt.edu >>>>>> > l2ork.icat.vt.edu >>>>>> > ico.bukvic.net >>>>>> > >>>>>> > On Feb 6, 2016 9:20 AM, "IOhannes m zmölnig" <[email protected]> >>>>>> wrote: >>>>>> >> >>>>>> >> On 02/06/2016 10:29 AM, katja wrote: >>>>>> >> > Possibly an inf or nan recirculating in the delay lines? It >>>>>> seems that >>>>>> >> > freeverb~ calls function fix_denorm_nan_float(float v) but >>>>>> doesn't use >>>>>> >> > the return value. >>>>>> >> >>>>>> >> you *might* be able to confirm this by sending the output for >>>>>> >> [freeverb~] to [print~] (the silent samples would be NaN or Inf >>>>>> rather >>>>>> >> than 0 (or some other constant value)) >>>>>> >> >>>>>> >> gamds >>>>>> >> IOhannes >>>>>> >> >>>>>> >> >>>>>> >> >>>>>> >> _______________________________________________ >>>>>> >> [email protected] mailing list >>>>>> >> UNSUBSCRIBE and account-management -> >>>>>> >> http://lists.puredata.info/listinfo/pd-list >>>>>> >> >>>>>> > >>>>>> > _______________________________________________ >>>>>> > [email protected] mailing list >>>>>> > UNSUBSCRIBE and account-management -> >>>>>> > http://lists.puredata.info/listinfo/pd-list >>>>>> > >>>>>> >>>>> >>>>> _______________________________________________ >>>>> [email protected] mailing list >>>>> UNSUBSCRIBE and account-management -> >>>>> <http://lists.puredata.info/listinfo/pd-list> >>>>> http://lists.puredata.info/listinfo/pd-list >>>>> >>>>> >>>> >>> >>> >>
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
