Compiler optimization for Geode/Floating Point pipeline

Albert Cahalan acahalan at gmail.com
Tue Oct 30 03:19:56 EDT 2007


Edward Cherlin writes:

> I don't know about the internals of current activities in Python, but
> I know where you can find reams of array code in C, FORTRAN, and other
> languages in 3D graphics libraries (4 x 4 matrix multiplication
> especially), multimedia compression and decompression, cryptography
> (particularly RSA exponentiation, but also elliptic curve
> cryptography, ssh key exchange, and others), audio and image
> processing (lots of convolutions), font rendering (quadratic and cubic
> splines), and other computationally intensive domains.

Nearly all of that is done with integer math.

> The more we do
> on this front now, the better for the older students when they come to
> modeling, numeric integration, linear programming, linear algebra,
> computational molecular biology, and so on and on and on.

I don't think the Geode does computational molecular biology!

> Does anybody know how we handle signal processing in the Tamtam
> software synth? The Fast Fourier Transforms for going from time domain
> to frequency domain in the data visualization activity are a prime
> target. It's all multiply-accumulate except for the bit twiddling.

The FFT is needlessly slow on the XO because the XO does not
use FFTW and does not have pre-computed FFTW wisdom in /etc.

I've been meaning to set up a login for some of the FFTW people
so that they can benchmark and generally try things out. Maybe
somebody can beat me to it. An even better idea would be to drop
by their office (at MIT) with a XO.

TODO: ensure that 3DNow! is used, and see if the Geode-specific
instructions might be helpful. Spectral power wants a square root
if I remember right; there is a Geode-specific instruction for that.



More information about the Devel mailing list