Masters Project Info PageMasters Project - "GPU based Acceleration of Radio Interferometry Processing"
This project aims to expedite the processing of Astronomical Radio Interferometry UV data to produce multi-frequency data and images useful to Astronomy researchers with the use of GPU cards. A GPGPU implementation of Direct Fourier Transform method of Image Synthesis will be developed, optimized, and tested against standard Fast Fourier Transform and multi-core implementations. Auto-tuning will be implemented if deemed necessary.
Unlike Optical telescopes, Radio Telescopes can probe the depth of space on all frequency levels, and with much greater precision . One major drawback is that Radio telescopes produce data comprising of millions of data-points, each representing the position and intensity of incoming radio waves hitting the dish. This data is unintuitive, difficult to analyse and, thus, must be processed into images in order to understand. This involves transformations from data-space to frequency-space (represented as an ultra high-detail, high-precision image of a certain frequency band).
Although the Fast-Fourier-Transform (FFT) method combined with a discretisation of the data (usually called the “griding” technique) can be used to produce an image quickly, this method is prone to artifacts and aliasing, which hinder the analysis of the final image. A more precise and accurate version can be obtained with a Direct Fourier Transform (DFT) of each of the data-points and additively composing the transforms. However, this method requires far more processing power. 
Compounding this problem is the increasing sophistication of Radio Telescope technology and scale, which allows for the acquisition of even larger data sets. Radio Telescope Arrays, such as MeerKAT, will produce high volumes of data that require a huge amount of processing. If a DFT route is to be taken, the sheer amount of data that needs to be processed  and the size of the resultant image means that problems of this nature can only be realistically performed with high performance computing hardware .
Whilst supercomputers are effective, they are an expensive route requiring specialised equipment and algorithms. They are almost always operated by a large organisation or subgroup thereof, this leads to necessary sharing of computation time of the supercomputer. Using a supercomputer therefore leads to an increase in organisational overhead. Further, there is an increased overhead in the form of extra time required to reprogram and test algorithms on these computers, as they usually have specialised compilers and since architectures often differ from each super computing center to the next.
GPUs offer vast improvements over supercomputing centers, especially in terms of cost effectiveness but also raw processing power. Although this technology has great potential, it has some very specific limitations. For example, there is usually under one gigabyte worth of memory that can be used, depending on the GPU . Also the processors on the card operate differently to normal CPU chips, executing each instruction on multiple data in lock-step. This differs to CPUs, which execute instructions sequentially. This differs to multi-core environments, which also execute sequentially, but simply have many CPU's instead on just one. To take advantage of this so-called Single-Instruction-Multiple-Data paradigm, data is required to be transferred in a specific way, and processed in a certain way. These specifics are not trivially generalisable and it is vital that they are understood in context of this problem in order to gain maximum processing efficiency .
 A. Quirrenbach, The development of astronomical interferometry, Experimental Astronomy 26 (2009), no. 1, 49–63.
 GB Taylor, CL Carilli, and RA Perley, Synthesis imaging in radio astronomy II, Synthesis Imaging in Radio Astronomy II, vol. 180, 1999, pp. 127–149.
 A. Varbanescu, A. van Amesfoort, T. Cornwell, A. Mattingly, B. Elmegreen, R. Van Nieuwpoort, G. Van Diepen, and H. Sips, Radioastronomy Image Synthesis on the Cell/BE, Euro-Par 2008–Parallel Processing (2008), 749–762.
 Wikipedia, Comparison of nvidia graphics processing units — Wikipedia, the free encyclopedia, 2010, [Online; accessed 12-August-2010].
 S. Ryoo, C.I. Rodrigues, S.S. Baghsorkhi, S.S. Stone, D.B. Kirk, and W.W. Hwu, Optimization principles and application performance evaluation of a multithreaded GPU using CUDA, Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, ACM, 2008, pp. 73–82.
This is an example of the image synthesis (top-left is raw output, the rest are cleaned up)
This is a radio telescope array - raw data comes from these dudes
Also...Email any questions, queries, complaints, interesting Gettier Cases, etc to:
or to my UCT account - which auto-forwards to my gmail account anyway :)