Home

Home
Members
Schedule
Archive
Search
Discussions
Contact Information

Project Abstract

Our project involves benchmarking the optimal algorithm  provided by the UHFFT[1] adaptive software library for computing the Fast Fourier Transform (FFT) of a vector X. The FFT of the vector X  of a sampled signal sequence is calculated by the matrix-vector product of the DFTN transform matrix and the vector XNx1. We will consider the values of N where N is a product of two co-prime numbers i.e. if N = R.S, then gcd(R,S) = 1. The UHFFT library handles such values of N using the Prime Factor algorithm and and Rader's algorithm. The optimal execution plan provided by UHFFT will be fed in SPL language to SPIRAL[2] to determine the implementation performance of SPIRAL for that particular execution plan, thus benchmarking SPIRAL for algorithm chosen by UHFFT. We will also compare the execution times provided by the implementation by SPIRAL and by UHFFT for the same values of N. The comparison will be done in terms of MFlops/s and execution time of the algorithm for different processor architectures.

Both the libraries provide a fast computation of the DFTN matrix by using the divide-and-conquer approach[3] of representing the DFTN matrix as a product of structured sparse matrices. Several possible factorization permutations of the transform matrix give rise to several corresponding algorithms. The libraries employ intelligent search techniques to determine the best match between the algorithm structure and its implementation with respect to a given computing-architecture( e.g. compiler optimizations, architecture-specific optimization instruction set etc.). The way and the order in which this is determined is specific to the library.

UHFFT is an adaptive software library for Fast Fourier Transforms developed by the Department of Computer Science at the University of Houston. It provides for two possible search techniques for the best execution plan viz. an exhaustive search for the best execution time and the other that uses the information stored in two databases, the codelet database and the transform database.

SPIRAL is a software package developed by the collaborative effort of Carnegie Mellon University, Drexel University, University of Southern California and University of Illinois at Urbana Champagne. SPIRAL automates the process of optimization and platform adaptation of DSP algorithms including FFT. SPIRAL employs search techniques such as dynamic programming and genetic algorithms to find the best match between the algorithm and its implementation with respect to a given computing platform. SPIRAL takes in formulas using a special syntax known as the Signal Processing Language (SPL). It then uses its SPL compiler to translate the algorithm in a general purpose language such as C or Fortran. Thus, SPL and the SPL compiler automate the implementation of the FFT algorithm.

As we learn and understand the capabilities and working of the libraries better, we hope to add to the list of goals that we wish to accomplish.

 

[1] http://www.cs.uh.edu/~mirkovic/fft/fftdload.htm

[2] http://www.ece.cmu.edu/~spiral/

[3] Charles Van Loan, " Frontiers in Applied Mathematics - Computational Frameworks for the Fast Fourier Transform" SIAM, Philadelphia - 1992.

 

 

 

This project is part of the course requirements for the High Performance Computing course at Drexel University, Dept of Computer Science.

Home Members Schedule Archive Search Discussions Contact Information

 Copyright 2004 Ishan Mandrekar.
For problems or questions regarding this web contact [Web Admin].
Last updated: 03/05/04.