[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