A scalable parallel method for large collision detection problems

This paper discusses a parallel collision detection algorithm. Implemented using software executed on ubiquitous Graphics Processing Unit (GPU) cards, the algorithm demonstrates two orders of magnitude speedup over a state-of-the art sequential implementation when handling multimillion object collision detection tasks. GPUs are composed of many (on the order of hundreds) scalar processors that can simultaneously execute an operation; this strength is leveraged in the proposed algorithm, which combines the use of multiple CPU cores with multiple GPUs. The software implementation of the algorithm can be used to detect collisions between five million objects in less than two seconds and was used to detect 1.4 billion contact events in less than 40 seconds. A spherical padding approach is used to represent surface geometries as large collections of spheres when dealing with collision detection between bodies with complex geometries. The proposed methodology is expected to be relevant in computational mechanics with applications in granular flow dynamics and smoothed particle hydrodynamics (SPH), where the number of contact events ranges from millions to billions.

[1]  J. Kulpa,et al.  Time-frequency analysis using NVIDIA compute unified device architecture (CUDA) , 2009, Symposium on Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments (WILGA).

[2]  Dinesh Manocha,et al.  Quick-CULLIDE: fast inter- and intra-object collision culling using graphics hardware , 2005, IEEE Proceedings. VR 2005. Virtual Reality, 2005..

[3]  John M. Fujii ACM SIGGRAPH 2005 Courses , 2005, SIGGRAPH 2005.

[4]  Dinesh Manocha,et al.  Fast and reliable collision culling using graphics hardware , 2006, VRST '04.

[5]  John McPhee,et al.  A Regularized Contact Model with Asymmetric Damping and Dwell-Time Dependent Friction , 2004 .

[6]  Mark J. Harris,et al.  Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware , 2007, Graphics Hardware.

[7]  F. Pfeiffer,et al.  Simulation of Unilateral Constrained Systems with Many Bodies , 2005 .

[8]  Mark J. Harris,et al.  Parallel Prefix Sum (Scan) with CUDA , 2011 .

[9]  Chang-Wan Kim,et al.  An efficient and robust contact algorithm for a compliant contact force model between bodies of complex geometry , 2009 .

[10]  Dinesh Manocha,et al.  CULLIDE: interactive collision detection between complex models in large environments using graphics hardware , 2003, HWWS '03.

[11]  M. Anitescu,et al.  Large-scale parallel multi-body dynamics with frictional contact on the graphical processing unit , 2008 .

[12]  P. Eberhard,et al.  Applications of the discrete element method in mechanical engineering , 2007 .

[13]  Jorge Angeles,et al.  Impacts in multibody systems: modeling and experiments , 2008 .

[14]  A. Rohl Proceedings of the 5th international conference on Computer graphics and interactive techniques in Australia and Southeast Asia , 2007, SIGGRAPH 2007.

[15]  David Baraff,et al.  Dynamic Simulation of Non-penetrating Rigid Bodies , 1992 .

[16]  Hammad Mazhar,et al.  Leveraging parallel computing in multibody dynamics , 2012 .

[17]  Javier Cuadrado,et al.  Multibody Dynamics: Computational Methods and Applications , 2007 .

[18]  Mihai Anitescu,et al.  GPU-Based Parallel Computing for the Simulation of Complex Multibody Systems with Unilateral and Bilateral Constraints: An Overview , 2011 .

[19]  Hubert Nguyen,et al.  GPU Gems 3 , 2007 .

[20]  Dinesh Manocha,et al.  I-COLLIDE: an interactive and exact collision detection system for large-scale environments , 1995, I3D '95.

[21]  Takahiro Harada,et al.  Sliced data structure for particle-based simulations on GPUs , 2007, GRAPHITE '07.

[22]  Michael Garland,et al.  Designing efficient sorting algorithms for manycore GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.