Abstract
Monte Carlo (MC) simulations based on the migration-coalescence model are important tools for studying the evolution of gas bubbles in materials, a subject of concern across numerous fields. The acceleration of MC simulations is always desired especially when a large simulation system is required to extract highly accurate statistics. The present work focuses on the algorithmic study. A graphics processing unit (GPU)-based implementation of an MC simulation of the migration-coalescence evolution of bubbles is described. The acceleration of simulations involves two factors. In addition to acceleration due to the parallel computing features of GPUs, algorithmic strategies are proposed to improve performance. Considering that bubbles have a finite radius and grow with time, this paper proposes generating a nearest-neighbor-list (NNL) instead of a cutoff-radius-neighbor-list. An evaluation demonstrated that an NNL strategy can improve computational efficiency and, more importantly, conserve valuable GPU memory. This paper also proposes a strategy using many small boxes in one run instead of one large box. An evaluation of this strategy shows that significant promotion of the computational efficiency for generating neighbor-lists can be achieved. Regarding the migration and coalescence process, this paper proposes a method in which a merging table is generated and CUDA atomic operations are applied to bubbles in a bi-directional procedure that handles coalescence events. This method avoids asynchronous reading and writing conflicts that may occur in the GPU implementation of the migration and coalescence process without losing numerical accuracy. The algorithms and implementations presented in this paper would be instructive to the development of simulation codes, for an example the code of object kinetic Monte Carlo, in which the defects have finite sizes.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have