Institut für Computersprachen, TU-Wien Institut für Computersprachen » Home Page of Stefan Kral » Project: FFTW-GEL


Mission Statement

Acceptable performance at an affordable price.


An important note

FFTW-GEL is a free software project that cannot succeed without the active contribution/participation of its' users. If you use FFTW-GEL, if you like/love it or don't like it/hate it, if you have suggestions on how to improve it, or if you have encountered a bug, please let me know.


FFTW-GEL is an architecture-specific version of FFTW. It is free software that is covered by the GNU General Public License Version 2.

It features optimizing code generators for several processor families (AMD K7 and Intel Pentium 4) that include automatic SIMD vectorization of basic blocks, an optimizer for the calculation of effective addresses, and a lot of other cool hacks.

FFTW-GEL is available for the following architectures:

AMD K6-2/K6-III (no longer supported/maintained)
K6/FFTW-GEL 1.1 (single-precision only)
AMD K7 (Duron, Athlon, Athlon XP, Athlon MP)
K7/FFTW-GEL 1.2.1 (single-precision only)
Intel Pentium 4
P4/FFTW-GEL 1.2.1 (double-precision only)
AMD64 in 32-bit mode (Opteron, Athlon 64)
Use K7/FFTW-GEL 1.2.1 for single precision, P4/FFTW-GEL 1.2.1 for double precision calculations.
PPC440FP2 (IBM Blue Gene/L)
BGL/FFTW-GEL-2.1.5 (supports both single and double precision).

Compatibility with FFTW

FFTW-GEL is not a 100% drop-in replacement for FFTW, as it requires that all data passed to it is naturally aligned (128-bit aligned data for double-precision data on the Pentium-4, 64-bit aligned data for single-precision data on K7-based systems).

Replacing FFTW with FFTW-GEL may cause a mild performance degradation (on K7-based machines) or application crashes (on Pentium-4 systems) when operating on unaligned data.

You can use fftw_malloc and fftw_free as a replacement for malloc and free whenever you want to obtain/release naturally-aligned memory blocks.


FFTW-GEL 1.2.1 offers the following features:


You can download FFTW-GEL packages here.

Here are some benchmark results from benchfft.


FFTW-GEL was written by Stefan Kral.

FFTW was written by Matteo Frigo and Steven G. Johnson.

For more information on how to use FFTW or FFTW-GEL, please visit the FFTW homepage at

Valid HTML 4.0!

Last update: Thu Sep 13 10:15:26 CEST 2007