Journal of Applied Sciences ›› 2015, Vol. 33 ›› Issue (5): 550-558.doi: 10.3969/j.issn.0255-8297.2015.05.009

• Signal and Information Processing • Previous Articles     Next Articles

A Locality Sensitive Hashing Algorithm Based on CUDA

ZHANG Yi-fan1,2, YU Xiao-qing1,2, AN Xuan-dong1,2, WAN Wang-gen1,2   

  1. 1. School of Communication and Information Engineering, Shanghai University, Shanghai 200444, China;
    2. Institute of Smart City, Shanghai University, Shanghai 200444, China
  • Received:2015-02-01 Revised:2015-03-29 Online:2015-09-30 Published:2015-09-30

Abstract: The traditional locality sensitive hashing (LSH) algorithm often takes a large memory space and long settling time to build a hash table. In the query phase, it takes more than 95% of the overall running time to search K nearest neighbor data items of samples. To solve these problems, this paper uses the compute unified device architecture (CUDA) to transplant LSH algorithm into a GPU, using parallel multi-threads to calculate the values of data items to build the hash table. In the query phase, we introduce multisample query based on work queue to global memory to improve efficiency of the algorithm. Experimental results show that computing speed of the proposed LSH algorithm is 12 times faster than the traditional LSH algorithm.

Key words: compute unified device architecture (CUDA), graphics processing unit (GPU), locality sensitive hashing, K-nearest neighbor

CLC Number: