Re: [LAD] [Faudiostream-devel] Prototyping algorithms and ideas

From: Tim Goetze <tim@email-addr-hidden>
Date: Fri Feb 01 2008 - 18:01:35 EET

[Paul Davis]

>On Fri, 2008-02-01 at 08:14 +0100, Yann Orlarey wrote:
>
>> The minimal combination to activate FTZ mode seems to be :
>>
>> "-O3 -march=native -mfpmath=sse -ffast-math"
>>
>> when you are on a sse capable cpu. Here it works, you don't have
>> denormals any more :-).
>
>Ardour takes manual control of FTZ and DAZ flags, and also offers DC
>offsets (adding a very very tiny value to every sample) as ways to
>control denormals. Our experience (or our users' experience) has been
>that FTZ is better than DAZ, but that neither reduces denormal effects
>as much as a DC offset. It is still possible to see denormal-induced
>performance slowdowns even when FTZ is in effect, although the magnitude
>is reduced.

On this Core2 (6600) chip, this:

  #ifdef __SSE3__
  _MM_SET_DENORMALS_ZERO_MODE (_MM_DENORMALS_ZERO_ON);
  #endif

  #ifdef __SSE__
  _MM_SET_FLUSH_ZERO_MODE (_MM_FLUSH_ZERO_ON);
  #endif

along with -mfpmath=sse -msse -msse3 reliably eliminates denormals
completely. DSP code runs at full speed with no more need for DC,
noise, Nyquist or other signal injection.

Flush-to-zero alone did not bring a palpable improvement when I
evaluated the different options. On this chip that is, of course.

Cheers, Tim
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Received on Fri Feb 1 20:15:02 2008

This archive was generated by hypermail 2.1.8 : Fri Feb 01 2008 - 20:15:02 EET