Computer Generation of Fourier Transform Libraries for Distributed Memory Computing

Srinivas Chellappa
Seminar

High-performance discrete Fourier transform (DFT) libraries are an important requirement on many computing platforms. The complexity of manually writing and tuning DFT libraries to target architectures is the motivation behind the SPIRAL project, which can automatically generate platform-adapted libraries.

However, current techniques in SPIRAL don't work well for all target platforms. In particular, several existing and emerging target platforms incorporate a distributed memory parallel processing paradigm, where the cost of accessing non-local memories is relatively high. The paradigm has been long used in supercomputing environments, and is now also finding its way into desktop computing (e.g., IBM's Cell processor), GPGPUs, and embedded processors.

The goal of this work is to enable computer generation of high-performance DFT libraries for a wide range of distributed memory parallel processing systems, given only a high-level description of a DFT algorithm and some platform parameters. The main challenges include generating code for multiple target programming paradigms, delivering load balanced parallelization across multiple layers of the compute hierarchy, orchestrating explicit memory management to best exploit available bandwidth, and overlapping computation with communication.

We attack the problem by building algorithm components that describe parallelization, streaming, and data exchange in a domain-specific declarative mathematical language. We then rewrite existing DFT algorithms to expose these components, which are guaranteed to "fit" the target architecture and extract maximum performance.

Click on this link to add this event to your calendar.