Spiral
Franz Franchetti, Electrical & Computer Engineering
Spiral (www.spiral.net) is a program generation system for linear transforms such as the discrete Fourier transform, discrete cosine transforms, filters, and others. For a user-selected transform, Spiral autonomously generates different algorithms, represented in a declarative form as mathematical formulas, and their implementations to find the best match to the given target platform.In this project we will investigate how to target graphics processors (GPUs) for the computations required in signal processing algorithms. The ultimate goal is to generate GPU programs with Spiral, and the way to achieve this will be to first experiment by hand to write small test examples and to understand the programming model. Based on this experience we will devise a strategy of how to include GPU functionality into Spiral. We will base this work on based on some preliminary work by earlier students in the team. The project will be in interaction with graduate students. This is a hot research area (www.gpgpu.org) and the graphics card vendors have a history of hiring Carnegie Mellon graduates.