Title :
A SIMD vectorizing compiler for digital signal processing algorithms
Author :
Franchetti, F. ; Puschel, M.
Author_Institution :
Appl. & Numerical Math., Tech. Univ. of Vienna, Austria
Abstract :
Short vector SIMD instructions on recent microprocessors, such as SSE on Pentium III and 4, speed up code but are a major challenge to software developers. We present a compiler that automatically generates C code enhanced with short vector instructions for digital signal processing (DSP) transforms, such as the fast Fourier transform (FFT). The input to our compiler is a concise mathematical description of a DSP algorithm in the language SPL. SPL is used in the SPIRAL system (http://wwwece.cmu.edu/~spira/) to generate highly optimized architecture adapted implementations of DSP transforms. Interfacing our compiler with SPIRAL yields speed-ups of more than a factor of 2 in several important cases including the FFT and the discrete cosine transform (DCT) used in the JPEG compression standard. For the FFT our automatically generated code is competitive with the hand-coded Intel Math Kernel Library.
Keywords :
C language; discrete cosine transforms; fast Fourier transforms; parallel programming; parallelising compilers; signal processing; C code generation; Intel Math Kernel Library; JPEG compression standard; SIMD vectorizing compiler; SPIRAL system; SPL language; digital signal processing algorithms; discrete cosine transform; fast Fourier transform; microprocessors; short vector SIMD instructions; Digital signal processing; Discrete cosine transforms; Discrete transforms; Fast Fourier transforms; Kernel; Microprocessors; Signal generators; Signal processing algorithms; Spirals; Transform coding;
Conference_Titel :
Parallel and Distributed Processing Symposium., Proceedings International, IPDPS 2002, Abstracts and CD-ROM
Conference_Location :
Ft. Lauderdale, FL
Print_ISBN :
0-7695-1573-8
DOI :
10.1109/IPDPS.2002.1015494