GPUQP: Query Co-Processing Using Graphics Processors

A graphics processing unit (GPU) is an integral part of most computing devices including PCs, laptops, consoles and cell phones. GPUs are highly specialized architectures designed for gaming applications, and can be regarded as massively parallel processors with 10x higher computation and 10x higher memory performance than CPUs. For instance, the NVIDIA GeForce 8800 GPU has over a hundred pixel program processors with an observed performance of 330 GFLOPS and a peak memory bandwidth of 86 GB/s. GPUs are also becoming increasingly programmable enabling them to perform many general purpose algorithms (GPGPU) an order of magnitude faster than CPUs. Moreover, GPUs are progressing at a rate faster than CPUs. In this project, we explore in-memory query co-processing using GPUs to fully exploit their architectural features. Our ongoing work also includes Mars, a MapReduce framework on the GPU.

Documents

Software

Nov 16, 2009: source code (4MB zip package).

Software License

The license is a free non-exclusive, non-transferable license to reproduce, use, modify and display the source code version of the Software, with or without modifications solely for non-commercial research, educational or evaluation purposes. The license does not entitle Licensee to technical support, telephone assistance, enhancements or updates to the Software. All rights, title to and ownership interest in Software, including all intellectual property rights therein shall remain in HKUST.