[PD-dev] d_math.c "break[s] strict-aliasing rules"

Hans-Christoph Steiner hans at eds.org
Fri Apr 20 01:25:48 CEST 2007


On Apr 19, 2007, at 6:08 PM, Tim Blechmann wrote:

>>> i did some benchmarks of pd's phasor~ code against a straight- 
>>> forward
>>> implementation on my pentium-m, when implementing the objects for
>>> nova.
>>> the straight-forward implementation ran about 20 to 30 % faster
>>> than the
>>> pd-style implementation.
>>
>> Do you still have the code from the straight forward implementation?
>
> i'm not sure, if i still have the benchmark code somewhere on my
> machine, the phasor~/osc~ implementation can be found at
> http://svn.klingt.org/nova/trunk/source/language/dsp/ 
> oscillator.cpp ...
>
>
>>> code like sqare root or inverse square root can be coded by just
>>> utilizing the rsqrtps and sqrtps opcodes, with a 14 bit precision,
>>> when
>>> working on the sse unit ...
>>
>> 14bit precision would leave a lot to be desired in Pd. Are there high
>> precision operators?
>
> erm, according to the comments in d_math.c, miller's code only precise
> for 8 mantissa bits and sqrt/rsqrt are aliases for q8_sqrt/q8_rsqrt
>
>>>> An alternative would be to special-case the offending code
>>>> somehow.  This
>>>> could be part of a larger effort to make the DSP code modular so
>>>> that SSE
>>>> instructions and whatnot could also be "plugged in".  Worth
>>>> thinking about...
>>>
>>> according to the gcc manual, simple vectorizable operactions, that's
>>> used for audio processing, can be autovectorized, if (and only  
>>> if) the
>>> programmer takes care of both alignment and aliasing issues ...
>>
>> Is complying with -fstrict-aliasing enough to take care of the
>> aliasing issues?
>
> aeh, no ... when referring to the term aliasing when talking about of
> vectorizable functions, i'm referring to the aliasing of pointers as
> function arguments ...
> it should be described in the gcc manual in detail ...

Well, as you can see, this is not my area of expertise :).  Thanks  
for the responses.  At this point, I am mostly trying to get the  
issues out on the table so we can know how to proceed.

.hc

>
> tim
>
> --
> tim at klingt.org    ICQ: 96771783
> http://tim.klingt.org
>
> Silence is only frightening to people who are compulsively
> verbalizing.
>   William S. Burroughs


------------------------------------------------------------------------ 
----

Access to computers should be unlimited and total.  - the hacker ethic






More information about the Pd-dev mailing list