An Optimized OpenGL Convolutional Gridding Algorithm for the Square Kilometre Array
Convolutional gridding is a technique used in synthesis imaging for the reconstruction of images from spatial-frequency data. Gridding, as it is referred to, has many applications, some of which include medical imaging (magnetic resonance imaging, computerized tomography), synthetic aperture sonar imaging, and radio interferometry. Gridding is a computationally expensive procedure, with modern gridding algorithms utilizing many-core accelerators to achieve high performance. The Square Kilometre Array (SKA) will eventually become the worlds largest radio interferometer ever constructed, generating enormous volumes of spatial-frequency data. Therefore, an optimized gridding algorithm is needed. Existing gridding solutions demonstrate the use of graphics processing units and heterogeneous computing libraries to achieve optimized gridding performance. However, these solutions are often dependant on additional data processing mechanisms to maximize gridding throughput. This thesis explores an implementation of the W-Projection convolutional gridding algorithm which utilizes Open Graphics Library and the graphics rendering pipeline; informally titled the Hall-Ensor-Campbell (HEC) gridder. It was hypothesized that efficient and effective gridding could be achieved and general performance improved by conducting gridding operations in a graphics rendering environment. A design science approach was employed to design, develop, and evaluate the efficacy of a graphics based gridding solution. Performance of the HEC gridder was comparatively evaluated against a leading convolutional gridding algorithm. It was found that efficient and effective graphics based gridding is feasible with the use of vertex point sprites, accumulative fragment blending, and a custom implementation of textured W-Projection kernels.