High Performance Algorithms for Counting Collisions and Pairwise Interactions

Matheus Henrique Junqueira Saldanha, Paulo Sérgio Lopes de Souza

Accepted in ICCS 2019!

See the postprint here!


The problem of counting collisions or interactions is common in areas as computer graphics and scientific simulations. Since it is a major bottleneck in applications of these areas, a lot of research has been done on such subject, mainly focused on techniques that allow calculations to be performed within pruned sets of objects. This paper focuses on how interaction calculation (such as collisions) within these sets can be done more efficiently than existing approaches. Two algorithms are proposed: a sequential algorithm that has linear complexity at the cost of high memory usage; and a parallel algorithm, mathematically proved to be correct, that manages to use GPU resources more efficiently than existing approaches. The proposed and existing algorithms were implemented, and experiments show a speedup of 21.7 for the sequential algorithm (on small problem size), and 1.12 for the parallel proposal (large problem size). By improving interaction calculation, this work contributes to research areas that promote interconnection in the modern world, such as computer graphics and robotics.

Source Code Repositories

Collision Counting Algorithms (root directory) GitHub Repository
Protein Structure Prediction Algorithm GitHub Repository

Article's Appendix

Can't see the file? Download the PDF here.