Real-Time Parallel Hashing on the GPU

Dan A. Alcantara, Andrei Sharf, Fatemeh Abbasinejad, Shubhabrata Sengupta, John D. Owens, Nina Amenta, Michael Mitzenmacher

Research output: Contribution to journalArticlepeer-review

12 Scopus citations

Abstract

We demonstrate an efficient data-parallel algorithm for building large hash tables of millions of elements in real-time. We consider two parallel algorithms for the construction: a classical sparse perfect hashing approach, and cuckoo hashing, which packs elements densely by allowing an element to be stored in one of multiple possible locations. Our construction is a hybrid approach that uses both algorithms. We measure the construction time, access time, and memory usage of our implementations and demonstrate real-time performance on large datasets: for 5 million key-value pairs, we construct a hash table in 35.7 ms using 1.42 times as much memory as the input data itself, and we can access all the elements in that hash table in 15.3 ms. For comparison, sorting the same data requires 36.6 ms, but accessing all the elements via binary search requires 79.5 ms. Furthermore, we show how our hashing methods can be applied to two graphics applications: 3D surface intersection for moving data and geometric hashing for image matching.

Original languageEnglish
Pages (from-to)1-9
Number of pages9
JournalACM Transactions on Graphics
Volume28
Issue number5
DOIs
StatePublished - 1 Dec 2009
Externally publishedYes

Keywords

  • GPU computing
  • cuckoo hashing
  • hash tables
  • parallel data structures
  • parallel hash tables

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design

Fingerprint

Dive into the research topics of 'Real-Time Parallel Hashing on the GPU'. Together they form a unique fingerprint.

Cite this