Hi all, i implemented SIMD support for PPC processors to the devel_0_37 branch. This will currently only be used if "-faltivec" is (manually) added to the CFLAGS in the makefile. Needless to say, this won't work on G3 cpus. Since my experience with Altivec is limited, i would be grateful if one of the SIMD experts could have a look. I'm using the mid-level mnemonics, not direct assembly code. Some functions are still lacking. The amount of cpu saving (at least on my PB 400) is not as impressive as with the Intel/SSE implementation. I would attribute this to the slow memory of my machine.... probably newer machines perform better.
best greetings, Thomas
Anfang der weitergeleiteten E-Mail:
Von: Thomas Grill t.grill@gmx.net Datum: 28. Dezember 2003 04:03:14 GMT+01:00 An: pd-dev@iem.at Betreff: [PD-dev] cvs write access
Hi all, it seems that i can't commit to the pd cvs repository anymore. Could one of the admins please look into it?
best greetings, Thomas
PD-dev mailing list PD-dev@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-dev
I will have look in the next few days. Alternately, you can mail me the scalar routines and your altivec versions, which would get a faster response.
Typical Altivec gains on single precision FP like pd audio should be about 250- 350%. If not then you are doing something wrong. ;) Even a lowly 400 mhz G4 can saturate just about any bus on any PC - the peak FLOPS on that chip is something like 3.2GB/sec using the fused multiply add - so you can definitely run your code up to 700MB/sec of throughput on one no problem.
Of course most of pd's audio code could be written much better for PPC in the first place, so a full massage with all the loop-unrolling, load-hoisting and Altivec could be up to 8-10x faster than the scalar. No promises, but it is possible.
Oh and the C code intrinsics are fine - there's no need to do assembly unless you really, really want to play 'beat the compiler'. I've gotten to where I can bully GCC into decent output without resorting to asm.
cgc
Quoting Thomas Grill t.grill@gmx.net:
Hi all, i implemented SIMD support for PPC processors to the devel_0_37 branch. This will currently only be used if "-faltivec" is (manually) added to
the CFLAGS in the makefile. Needless to say, this won't work on G3 cpus. Since my experience with Altivec is limited, i would be grateful if one
of the SIMD experts could have a look. I'm using the mid-level mnemonics, not direct assembly code. Some functions are still lacking. The amount of cpu saving (at least on my PB 400) is not as impressive as with the Intel/SSE implementation. I would attribute this to the slow memory of my machine.... probably newer machines perform better.
best greetings, Thomas
Anfang der weitergeleiteten E-Mail:
Von: Thomas Grill t.grill@gmx.net Datum: 28. Dezember 2003 04:03:14 GMT+01:00 An: pd-dev@iem.at Betreff: [PD-dev] cvs write access
Hi all, it seems that i can't commit to the pd cvs repository anymore. Could
one of the admins please look into it?
best greetings, Thomas
PD-dev mailing list PD-dev@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-dev
PD-dev mailing list PD-dev@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-dev