ppohDEM: Computational performance for open source code of the discrete element method ?
We investigate performance improvements for the discrete element method (DEM) used in ppohDEM. First, we use OpenMP and MPI to parallelize DEM for efficient operation on many types of memory, including shared memory, and at any scale, from small PC clusters to supercomputers. We also describe a new algorithm for the descending storage method (DSM) based on a sort technique that makes creation of contact candidate pair lists more efficient. Finally, we measure the performance of ppohDEM using the proposed improvements, and confirm that computational time is significantly reduced. We also show that the parallel performance of ppohDEM can be improved by reducing the number of OpenMP threads per MPI process. Program title: ppohDEM Catalogue identifier: AESI_v1_0 Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AESI_v1_0.html Program obtainable from: CPC Program Library, Queens University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 39007 No. of bytes in distributed program, including test data, etc.: 2482843 Distribution format: tar.gz Programming language: Fortran. Computer: CPU based workstations and parallel computers. Operating system: Linux, Windows. Has the code been vectorized or parallelized?: Yes, using MPI. Tested with up to 8 processors. RAM: Dependent upon the numbers of particles and contact particle pairs (1GB for the example program supplied with the package) Classification: 6.5, 13. External routines: MPI-2, OpenMP Nature of problem: Collision dynamics of viscoelastic particles with friction in powder engineering and soil mechanics. Solution method: Parallelized DEM running on shared and/or distributed systems is the solution method based particle model in which geometrical size and shape attributes are provided for each element. In the DEM, the Voigt model and Coulomb friction model are considered at each contact point between particles. Running time: 10min for the example program supplied with the package using 2 CPU (each with 10 cores) of Intel Xeon E7-4870.
open source discrete element method parallelization particle high performance computing