GPU Bucket Sort Algorithm with Applications to Nearest-neighbour Search

We present an adoption of the bucket sort algorithm capable of running entirely on GPU architecture. Our implementation employs render-to-texture to enable scatter operation. Linked lists of elements in each bucket are build and stored directly in video memory. We show also the use of this sorting method in a particle-based simulation. Dissipative Particle Dynamics is the physical model of choice; the simulation is performed entirely on the graphics hardware. GPU bucket sorting is used to build nearest-neighbour maps on a regular cell-grid which are the input of interparticle interaction computation. Finally we implement a simple random-number generator which is required by the DPD method.

[1]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .

[2]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[3]  Gabriel Zachmann,et al.  GPU-ABiSort: optimal parallel sorting on stream architectures , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[4]  Daniel A. Keim,et al.  A Graphics Hardware Accelerated Algorithm for Nearest Neighbor Search , 2006, International Conference on Computational Science.

[5]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[6]  Rüdiger Westermann,et al.  UberFlow: a GPU-based particle engine , 2004, SIGGRAPH '04.

[7]  Pat Hanrahan,et al.  Photon mapping on programmable graphics hardware , 2003, HWWS '03.

[8]  Markus H. Gross,et al.  Particle-based fluid simulation for interactive applications , 2003, SCA '03.

[9]  Pep Español,et al.  Coarse-Graining of a Fluid and its Relation with Dissipative Particle Dynamics and Smoothed Particle Dynamic , 1997 .

[10]  Coveney,et al.  Computer simulations of domain growth and phase separation in two-dimensional binary immiscible fluids using dissipative particle dynamics. , 1996, Physical review. E, Statistical physics, plasmas, fluids, and related interdisciplinary topics.

[11]  Pat Hanrahan,et al.  Ray tracing on a stream processor , 2004 .

[12]  Nicolas Cuntz,et al.  Dynamic particle coupling for gpu-based fluid simulation , 2010 .

[13]  Kunihiro Chihara,et al.  Particle-Based Fluid Simulation on GPU , 2003 .

[14]  Tim Foley,et al.  KD-tree acceleration structures for a GPU raytracer , 2005, HWWS '05.

[15]  K. Mikaelian,et al.  Turbulent mixing generated by Rayleigh-Taylor and Richtmyer-Meshkov instabilities , 1989 .

[16]  S. T. Buckland,et al.  An Introduction to the Bootstrap. , 1994 .

[17]  Takahiro Harada,et al.  Acceleration of Smoothed Particle Hydrodynamics using GPUs , 2007 .

[18]  Sunil Arya,et al.  An optimal algorithm for approximate nearest neighbor searching fixed dimensions , 1998, JACM.

[19]  J. Koelman,et al.  Simulating microscopic hydrodynamic phenomena with dissipative particle dynamics , 1992 .