Accelerating Polyhedral Discrete Element Method with CUDA

Wen, Tongge and Zeng, Xiangyuan (2023) Accelerating Polyhedral Discrete Element Method with CUDA. The Astronomical Journal, 166 (5). p. 194. ISSN 0004-6256

[thumbnail of Wen_2023_AJ_166_194.pdf] Text
Wen_2023_AJ_166_194.pdf - Published Version

Download (3MB)

Abstract

This paper presents an efficient CUDA-based implementation of a nonspherical discrete element method where irregular particles are described by using polyhedrons. Two strategies are employed to exploit the parallelism of the numerical method. One is to perform contact detection based on the contact pair level instead of the traditional particle level. The second is to reduce the computational burden of each kernel function by allocating thread blocks reasonably. Contact detection between potential contact pairs is the most complicated, time-consuming, and essential process for the polyhedral discrete element method. The linear bounding volume hierarchies are introduced to fix this issue. The hierarchies of the bounding volume tree are organized in a spatially coherent way. Such a structure can minimize branch divergence and is very suitable for parallel implementation with GPU. Two numerical examples are presented to show the performance of the code. It is found from the scenario of two sphere collision that improving the mesh resolution of polyhedral particles can reduce the computational error while slowing down the computational speed correspondingly. A trade-off must be made between accuracy and efficiency. The other example of self-gravitating aggregation demonstrates the code is convergent, stable, and highly efficient. Particularly, with a mainstream GPU, the proposed method easily performs hundreds of times faster than the serial CPU code that does the same function.

Item Type: Article
Subjects: Science Repository > Physics and Astronomy
Depositing User: Managing Editor
Date Deposited: 10 Nov 2023 03:45
Last Modified: 10 Nov 2023 03:45
URI: http://research.manuscritpub.com/id/eprint/3485

Actions (login required)

View Item
View Item