[PD-dev] double precision Pd: .patch files, tests and benchmarks

Hans-Christoph Steiner hans at at.or.at
Tue Oct 4 01:33:27 CEST 2011


On Tue, 2011-10-04 at 00:56 +0200, katja wrote:
> On Mon, Oct 3, 2011 at 7:08 PM, katja <katjavetter at gmail.com> wrote:
> > On Mon, Oct 3, 2011 at 6:21 PM, IOhannes m zmoelnig <zmoelnig at iem.at> wrote:
> >
> >> apropos performance:
> >> on my i5 650 @ 3.2GHz, running debian
> >> and trying to osc-delay-perfotest.pd (with only 400 osc-delay
> >> abstractions, as 500 would max out the CPU in "new double" mode) i get:
> >> original  : 28%
> >> debian    : 31%
> >> new single: 64%
> >> new double: 86%
> >
> > Did you build new single / new double without any optimization?
> > Makefile.am/in for Pd-0.43.1-test4 do not specify optimization. I
> > compared using -O2 for all builds, like it is set for Pd-0.43-0.
> >
> > Katja
> >
> 
> Update:
> 
> The rewritten code is more sensitive to optimization than the
> original. On coreduo 1.83 GHz with Debian I could only run 200
> osc-delay abstractions in osc-delay-perfotest.pd under worst
> conditions. Compare these values from command top:
> 
> original:       69% with -O0,   47% with -O2   (no SSE)
> new-single:  83% with -O0,   48% with -O2   (no SSE)
> new-double: 97% with -O0,   59% with -O2   (no SSE)
> 
> On MacBook core2duo 2GHz where I wrote and optimized most, 500
> osc-delay abstractions can easily run in osc-delay-perfotest.pd, with
> these values from top:
> 
> original:       60% with -O3 and SSE
> new-single:  50% with -O3 and SSE
> new-double: 54% with -O3 and SSE
> 
> I knew on beforehand that the code would get tuned (performance-wise)
> to hardware, instruction set, OS, compiler, compiler options etc. used
> for development, but it never crossed my mind to check performance
> with optimization level -O0.

I think this is the right approach to coding this stuff.  Both the
compilers and the CPUs can do a lot more since that code was originally
written.  

Debian doesn't compile things at -O0, but it does not allow CPU-specific
optimizations (i.e. SSE). I'm sure -O2 is ok for Debian.  aI hope that
Debian allows SSE on the amd64 arch, since all  x86_64 CPUs support SSE.
SSE has been in Intel i386 chips since 1999 and I think basically all
i386 chips since 2004.

And we have our first Pd-double build!
http://autobuild.puredata.info/auto-build/2011-10-03/Pd-0.43.1-double-20111003-macosx106-x86_64.dmg

rsync -av --delete rsync://128.238.56.50/distros/pd-double/ pd-double/

.hc




More information about the Pd-dev mailing list