A polyphase filter on GPUs and the Cell

From Master Projects
Jump to: navigation, search


About A polyphase filter on GPUs and the Cell

  • This project has been fulfilled.
  • This project fits in the following Bachelor programs: {{#arraymap:|, |xXx|bachelorproject within::xXx|,}}
  • This project fits in the following masterareas: {{#arraymap:High Performance Distributed Computing, Parallel and Distributed Computer Systems|, |xXx|project within::xXx|,}}


Description

A recent development in radio astronomy is to replace traditional radio telescope dishes with many small antennas. The signals are combined to form one large, virtual telescope. This process is both data and compute intensive. The LOFAR telescope, for instance, will produce over 100 terabytes per day. This data is currently processed on an IBM Blue Gene supercomputer with more than 10000 cores. The Blue Gene performs a data reduction step, and stores the data on disk.

An important processing step for the LOFAR telescope is the splitting of the data streams into many different frequency channels. With the narrower channels, we can remove noise and interference better. The part of the pipeline that splits the data into channels is called the polyphase filter. We have an implementation of this filter on the Blue Gene supercomputer. However, we would like to have implementations on new architectures, like graphics processors (GPUs) from NVIDIA and ATI, and the Cell processor (from the playstation 3). These new devices exploit paralellism because they have many compute cores. These new architectures provide enormous compute power at very low cost. We have already ported several parts of the pipeline to these new processors, and they work well. We are especially interested in the new openCL language, which is portable across multi-core CPUs, the GPUs and the Cell.

So, this project requires the implementation of a polyphase filter on GPUs and the Cell processor. It will also give you the opportunity to work on a challenging and exciting real-world application.