## 6 FFTW on the Cell Processor

Starting with version 3.2, FFTW contains specific support for the Cell Broadband Engine (“Cell”) processor, graciously donated by the IBM Austin Research Laboratory.

Cell consists of one PowerPC core (“PPE”) and of a number of Synergistic Processing Elements (“SPE”) to which the PPE can delegate computation. The IBM QS20 Cell blade offers 8 SPEs per Cell chip. The Sony Playstation 3 contains 6 useable SPEs.

Currently, FFTW fully utilizes the SPEs for one- and multi-dimensional complex FFTs of sizes that can be factored into small primes, both in single and double precision. Transforms of real data use SPEs only partially at this time. If FFTW cannot use the SPEs, it falls back to a slower computation on the PPE.

FFTW is meant to use the SPEs transparently without user intervention. However, certain caveats apply, which are discussed later in this document.