Two particle-in-grid realisations on spacetrees

The present paper studies two particle management strategies for dynamically adaptive Cartesian grids at hands of a particle-in-cell code. One holds the particles within the grid cells, the other within the grid vertices. The fundamental challenge for the algorithmic strategies results from the fact that particles may run through the grid without velocity constraints. To facilitate this, we rely on multiscale grid representations. They allow us to lift and drop particles between different spatial resolutions. We call this cell-based strategy particle in tree (PIT). Our second approach assigns particles to vertices describing a dual grid (PIDT) and augments the lifts and drops with multiscale linked cells. Our experiments validate the two schemes at hands of an electrostatic particlein-cell code by retrieving the dispersion relation of Langmuir waves in a thermal plasma. They reveal that different particle and grid characteristics favour different realisations. The possibility that particles can tunnel through an arbitrary number of grid cells implies that most data is exchanged between neighbouring ranks, while very few data is transferred non-locally. This constraints the scalability as the code potentially has to realise global communication. We show that the merger of an analysed tree grammar with PIDT allows us to predict particle movements among several levels and to skip parts of this global communication a priori. It is capable to outperform several established implementations based upon trees and/or space-filling curves.

[1]  Anshu Dubey,et al.  Parallel algorithms for moving Lagrangian data on block structured Eulerian meshes , 2011, Parallel Comput..

[2]  R W Hockney,et al.  Computer Simulation Using Particles , 1966 .

[3]  Hans-Joachim Bungartz,et al.  SFC-based Communication Metadata Encoding for Adaptive Mesh Refinement , 2013, PARCO.

[4]  William D. Mattson,et al.  Near-neighbor calculations using a modified cell-linked list method , 1999 .

[5]  François Faure,et al.  A Packed Memory Array to Keep Moving Particles Sorted , 2012, VRIPHYS.

[6]  Hari Sundar,et al.  HykSort: a new variant of hypercube quicksort on distributed memory architectures , 2013, ICS '13.

[7]  Karl Meerbergen,et al.  Implementation of a 2D electrostatic particle in cell algorithm in Unified Parallel C with dynamic load-balancing , 2011 .

[8]  Michael Bader,et al.  Space-Filling Curves - An Introduction with Applications in Scientific Computing , 2012, Texts in Computational Science and Engineering.

[9]  Miriam Mehl,et al.  Peano - A Traversal and Storage Scheme for Octree-Like Adaptive Cartesian Multiscale Grids , 2011, SIAM J. Sci. Comput..

[10]  Richard W. Vuduc,et al.  A massively parallel adaptive fast-multipole method on heterogeneous architectures , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[11]  Tobias Weinzierl,et al.  A Framework for Parallel PDE Solvers on Multiscale Adaptive Cartesian Grids , 2009 .

[12]  Steven J. Plimpton,et al.  A load-balancing algorithm for a parallel electromagnetic particle-in-cell code , 2003 .

[13]  Walter Dehnen,et al.  A Hierarchical O(N) Force Calculation Algorithm , 2002 .

[14]  Wing Kam Liu,et al.  Meshfree and particle methods and their applications , 2002 .

[15]  Giovanni Lapenta,et al.  Particle simulations of space weather , 2012, J. Comput. Phys..

[16]  Donald E. Knuth,et al.  The Genesis of Attribute Grammars , 1990, WAGA.

[17]  Michael S. Warren,et al.  A portable parallel particle program , 1995 .

[18]  Hari Sundar,et al.  Dendro: parallel algorithms for multigrid and AMR methods on 2:1 balanced octrees , 2008, HiPC 2008.

[19]  Matthias Teschner,et al.  A Parallel SPH Implementation on Multi‐Core CPUs , 2011, Comput. Graph. Forum.

[20]  Satoshi Matsuoka,et al.  Large-scale distributed sorting for GPU-based heterogeneous supercomputers , 2014, 2014 IEEE International Conference on Big Data (Big Data).

[21]  V. Springel E pur si muove: Galilean-invariant cosmological hydrodynamical simulations on a moving mesh , 2009, 0901.4107.

[22]  Giovanni Lapenta,et al.  Control of the number of particles in fluid and MHD particle in cell methods , 1995 .

[23]  Tobias Weinzierl,et al.  The Peano Software—Parallel, Automaton-based, Dynamically Adaptive Grid Traversals , 2015, ACM Trans. Math. Softw..

[24]  Pedro Gonnet,et al.  A simple algorithm to accelerate the computation of non‐bonded interactions in cell‐based molecular dynamics simulations , 2007, J. Comput. Chem..

[25]  N. A. Krall,et al.  Principles of Plasma Physics , 1973 .

[26]  P. Eberhard,et al.  Parallel load‐balanced simulation for short‐range interaction particle methods with hierarchical particle grouping based on orthogonal recursive bisection , 2008 .

[27]  Richard W. Vuduc,et al.  Petascale Direct Numerical Simulation of Blood Flow on 200K Cores and Heterogeneous Architectures , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[28]  C. Birdsall,et al.  Plasma Physics via Computer Simulation , 2018 .

[29]  Makoto Taiji,et al.  42 TFlops hierarchical N-body simulations on GPUs with applications in both astrophysics and turbulence , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.