IDP presentation. Alexander is advised by Markus Mühlhäußer.
Previous talks at the SCCS Colloquium
Alexander Haberl: Implementation of the P3M Algorithm in AutoPas
SCCS Colloquium |
We implement the Particle-Particle Particle-Mesh (P3M) algorithm for long range coulomb interactions in the molecular dynamics library AutoPas and parallelize the algorithm with OpenMP. The implementation is based on the Linked-Cells structure of AutoPas and encompasses all steps of the P3M algorithm with analytical differentiation and a 3D-Fourier transform. We test the parallel efficiency of our implementation and compare two different parallelization schemes for the computation of the charge density. The first distributes every nth particle to the same thread, where n is the number of threads and the particles are ordered by their id. The second scheme divides the simulation box into n equal slices and every thread gets assigned one slice. For a smaller number of threads, and thereby larger slices the second option performs better, but for a larger number of threads both variants perform equally well. Because of this we see potential in designing a more sophisticated slice or region based parallelization scheme to increase performance. Another area for improvement is the FFT implementation. Finally we run simulations of the Rayleigh-Taylor inversion and a perfect salt crystal using the P3M algorithm to verify correctness.