[PD] [bob~] denormals issue?

katja katjavetter at gmail.com
Wed Sep 21 22:47:05 CEST 2016


I'm curious to know if the flags do flush denormals on your processor.
Forgot to mention that '-O3 -ffast-math' are also set,
platform-independent. So if you have a chance to try which flag does
something... It's just curiosity.

On Wed, Sep 21, 2016 at 10:34 PM, Christof Ressi <christof.ressi at gmx.at> wrote:
> Hi Katja,
>
>> Even if your test reveals a beneficial effect from compiler flags,
>> it is better when denormals are detected and flushed in the C code.
>
> definitely! Maybe using the PD_BIGORSMALL macro on each filter state at the end of the DSP routine does the trick, just like in all the other recursive filters in Pd.
>
>
>
>> Von: katja <katjavetter at gmail.com>
>> An: "Christof Ressi" <christof.ressi at gmx.at>
>> Cc: pd-list <pd-list at iem.at>, "Miller Puckette" <msp at ucsd.edu>
>> Betreff: Re: [PD] [bob~] denormals issue?
>>
>> Hi Christof,
>>
>> Makefile.pdlibbuilder passes flags '-march=pentium4 -msse -msse2
>> -mfpmath=sse' for optimization to the compiler on Windows. You could
>> try compiling without (some of) these flags to see if they are
>> responsible for the different behavior. Makefile-defined optimization
>> flags can be overriden with argument CFLAGS given on command line.
>>
>> The effect of optimization flags on denormals varies per processor
>> type, unfortunately. When we had denormals on Raspberry Pi ARMv6 they
>> wouldn't go away no matter what flags, is what I remember. Even if
>> your test reveals a beneficial effect from compiler flags, it is
>> better when denormals are detected and flushed in the C code. Anyway,
>> it is still interesting to know what makes the difference.
>>
>> Katja
>>
>> On Wed, Sep 21, 2016 at 12:32 AM, Christof Ressi <christof.ressi at gmx.at> wrote:
>> > Hmmm... I compiled [bob~] myself with MinGW and pd-lib-builder and I noticed two things:
>> > 1) the CPU rise is gone
>> > 2) it needs only half the CPU. I put 20 [bob~] objects in a switched subpatch and measured the CPU load. The DLL which comes with the Windows binaries needs 15%, while my own DLL needs only 7%! That's quite a deal...
>> >
>> > Christof
>> >
>> > PS: I attached the DLL in case you wanna try it yourself.
>> >
>> >
>> >> Gesendet: Samstag, 17. September 2016 um 22:58 Uhr
>> >> Von: "Christof Ressi" <christof.ressi at gmx.at>
>> >> An: pd-list at iem.at, "Miller Puckette" <msp at ucsd.edu>
>> >> Betreff: [PD] [bob~] denormals issue?
>> >>
>> >> Hi Miller,
>> >>
>> >> feeding audio into [bob~] and then going to zero will increase the CPU load by ca. 6%. Clearing the filter or adding a tiny amount of noise brings the CPU load back to its usual level immediately, so I guess it's a problem with denormals.
>> >> My Pd load meter won't really show the increase, but it's clearly visibly on Process Explorer.
>> >>
>> >> See my attached patch. Tried with Pd 0.47.1, Lenovo Thinkpad L440, Windows 7.
>> >>
>> >> Christof_______________________________________________
>> >> Pd-list at lists.iem.at mailing list
>> >> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>> >>
>> > _______________________________________________
>> > Pd-list at lists.iem.at mailing list
>> > UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>> >
>>



More information about the Pd-list mailing list