[linux-audio-dev] Floating-point exceptions

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] Floating-point exceptions
From: Francois Dechelle (Francois.Dechelle_AT_ircam.fr)
Date: pe loka   01 1999 - 10:54:57 EDT


Hi,

DSP algorithms (filters for example) do a lot of floating-point underflows.
In theory, masking the corresponding trap bits in the pentium FPU control
register should do it, and silently flush the underflows to zero.

First point, on Linux, there is not yet any way to enable and disable
selected traps: you must do that with asm() statements. OK, it is not
elegant, but with a few macros...

BUT, second point: it does not seem to work. I made an example (a
recursive filter), that you can force to do underflows or not by
selecting the initial value. The result is that with underflows
the execution time is 13 times the execution time without
underflows. I let you imagine the performance impact for real-time
processing.

Do you have any ideas ? It looks like disabling the traps in
the FPU does not really disable them, but how to make sure ?

François


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:27:12 EST