Bilkent University
Department of Computer Engineering


Hardware Acceleration of Similarity Search Queries Using Graphic Processor Units


Attila Genç
MSc. Student
Computer Engineering Department
Bilkent University

A Graphic Processing Unit (GPU) is primarily designed for real-time rendering. In contrast to a Central Processing Unit (CPU) that have complex instructions and a limited number of pipelines, a GPU has simpler instructions and many execution pipelines to process vector data in a massively paralel fashion. In addition to its regular tasks, GPU instruction set can be used for performing other types of general-purpose computations as well. Several frameworks like Brook+, ATI CAL, OpenCL, and Nvidia Cuda have been proposed to utilize computational power of the GPU in general computing. This has provided interest and opportunities for accelerating different types of applications. This thesis explores ways of taking advantage of the GPU in the field of metric space-based similarity searching. The Kvp index structure has a simple organization that lends itself to be easily processed in paralel, in contrast to tree-based structures that requires frequent "pointer chasing" operations. Several implementations using the general purpose GPU programming frameworks (Brook+, ATI CAL and OpenCL) based on the ATI platform are provided. Experimental results of these implementations show that the GPU versions presented in this work are several times faster than the CPU versions. Keywords: Similarity Search,General Purpose Computing on Graphic Processing Units, GPGPU, OpenCL.


DATE: 19 January, 2010, Tuesday @ 11:00