Skip to main content

A Space and Bandwidth Efficient Multicore Algorithm for the Particle-in-Cell Method

  • Conference paper
  • First Online:
Parallel Processing and Applied Mathematics (PPAM 2017)

Abstract

The Particle-in-Cell (PIC) method allows solving partial differential equation through simulations, with important applications in plasma physics. To simulate thousands of billions of particles on clusters of multicore machines, prior work has proposed hybrid algorithms that combine domain decomposition and particle decomposition with carefully optimized algorithms for handling particles processed on each multicore socket. Regarding the multicore processing, existing algorithms either suffer from suboptimal execution time, due to sorting operations or use of atomic instructions, or suffer from suboptimal space usage. In this paper, we propose a novel parallel algorithm for two-dimensional PIC simulations on multicore hardware that features asymptotically-optimal memory consumption, and does not perform unnecessary accesses to the main memory. In practice, our algorithm reaches 65% of the maximum bandwidth, and shows excellent scalability on the classical Landau damping and two-stream instability test cases.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Bader, M.: Space-Filling Curves. Springer, Heidelberg (2013)

    Book  MATH  Google Scholar 

  2. Barnes, J., Hut, P.: A hierarchical \(O(N \log N)\) force-calculation algorithm. Nature 324(3), 446–449 (1986)

    Article  Google Scholar 

  3. Barsamian, Y., Hirstoaga, S.A., Violard, É.: Efficient data structures for a hybrid parallel and vectorized particle-in-cell code. In: 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 1168–1177 (2017)

    Google Scholar 

  4. Bender, M.A., Demaine, E.D., Farach-Colton, M.: Cache-oblivious b-trees. In: Proceedings of the 41st Annual Symposium on Foundations of Computer Science (FOCS), pp. 399–409 (2000)

    Google Scholar 

  5. Birdsall, C.K., Fuss, D.: Clouds-in-clouds, clouds-in-cells physics for many-body plasma simulation. J. Comput. Phys. 3, 494–511 (1969)

    Article  MATH  Google Scholar 

  6. Birdsall, C.K., Langdon, A.B.: Plasma Physics via Computer Simulation. McGraw-Hill, New York (1985)

    Google Scholar 

  7. Bowers, K.J.: Accelerating a particle-in-cell simulation using a hybrid counting sort. J. Comput. Phys. 173(2), 393–411 (2001)

    Article  MATH  Google Scholar 

  8. Bowers, K.J., Albright, B.J., Yin, L., Bergen, B., Kwan, T.J.T.: Ultrahigh performance three-dimensional electromagnetic relativistic kinetic plasma simulation. Phys. Plasmas 15(5), 055703 (2008)

    Article  Google Scholar 

  9. Bussmann, M., Burau, H., Cowan, T.E., Debus, A., Huebl, A., Juckeland, G., Kluge, T., Nagel, W.E., Pausch, R., Schmitt, F., Schramm, U., Schuchart, J., Widera, R.: Radiative signatures of the relativistic Kelvin-Helmholtz instability. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (SC), pp. 5:1–5:12 (2013)

    Google Scholar 

  10. Decyk, V.K., Singh, T.V.: Particle-in-cell algorithms for emerging computer architectures. Comput. Phys. Commun. 185(3), 708–719 (2014)

    Article  MathSciNet  Google Scholar 

  11. Durand, M.: PaVo. An adaptative parallel sorting algorithm. Ph.D. thesis, Université de Grenoble (2013)

    Google Scholar 

  12. Durand, M., Raffin, B., Faure, F.: A packed memory array to keep moving particles sorted. In: Workshop on Virtual Reality Interaction and Physical Simulation (VRIPHYS) (2012)

    Google Scholar 

  13. Frigo, M., Johnson, S.G.: The design and implementation of FFTW3. Proc. IEEE 93(2), 216–231 (2005). http://www.fftw.org

    Article  Google Scholar 

  14. Germaschewski, K., Fox, W., Abbott, S., Ahmadi, N., Maynard, K., Wang, L., Ruhl, H., Bhattacharjee, A.: The plasma simulation code: a modern particle-in-cell code with patch-based load-balancing. J. Comput. Phys. 318, 305–326 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  15. Hanson, D.R.: Fast allocation and deallocation of memory based on object lifetimes. Softw. Pract. Exper. 20(1), 5–12 (1990)

    Article  Google Scholar 

  16. Hockney, R.W., Eastwood, J.W.: Computer Simulation Using Particles. Institute of Physics, Philadelphia (1988)

    Book  MATH  Google Scholar 

  17. Jocksch, A., Hariri, F., Tran, T.-M., Brunner, S., Gheller, C., Villard, L.: A bucket sort algorithm for the particle-in-cell method on manycore architectures. In: Wyrzykowski, R., Deelman, E., Dongarra, J., Karczewski, K., Kitowski, J., Wiatr, K. (eds.) PPAM 2015. LNCS, vol. 9573, pp. 43–52. Springer, Cham (2016)

    Chapter  Google Scholar 

  18. Kim, C.C., Parker, S.E.: Massively parallel three-dimensional toroidal gyrokinetic flux-tube turbulence simulation. J. Comput. Phys. 161(2), 589–604 (2000)

    Article  MATH  Google Scholar 

  19. McCalpin, J.D.: Memory bandwidth and machine balance in current high performance computers. In: IEEE Computer Society Technical Committee on Computer Architecture Newsletter (TCCA), pp. 19–25 (1995)

    Google Scholar 

  20. Nakashima, H., Summura, Y., Kikura, K., Miyake, Y.: Large scale manycore-aware PIC simulation with efficient particle binning. In: 2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 202–212 (2017)

    Google Scholar 

  21. Nicol, D.M.: Rectilinear partitioning of irregular data parallel computations. J. Parallel Distr. Com. 23(2), 119–134 (1994)

    Article  Google Scholar 

  22. Surmin, I., Bashinov, A., Bastrakov, S., Efimenko, E., Gonoskov, A., Meyerov, I.: Dynamic load balancing based on rectilinear partitioning in particle-in-cell plasma simulation. In: Parallel Computing Technologies: 13th International Conference (PaCT), pp. 107–119 (2015)

    Google Scholar 

  23. Sáez, X., Soba, A., Sánchez, E., Kleiber, R., Castejón, F., Cela, J.M.: Improvements of the particle-in-cell code EUTERPE for petascaling machines. Comput. Phys. Commun. 182(9), 2047–2051 (2011)

    Article  Google Scholar 

  24. Tskhakaya, D., Schneider, R.: Optimization of PIC codes by improved memory management. J. Comput. Phys. 225(1), 829–839 (2007)

    Article  MATH  Google Scholar 

  25. Vincenti, H., Lobet, M., Lehe, R., Sasanka, R., Vay, J.L.: An efficient and portable SIMD algorithm for charge/current deposition in particle-in-cell codes. Comput. Phys. Commun. 210, 145–154 (2016)

    Article  MATH  Google Scholar 

  26. Winkel, M., Speck, R., Hübner, H., Arnold, L., Krause, R., Gibbon, P.: A massively parallel, multi-disciplinary Barnes-Hut tree code for extreme-scale N-body simulations. Comput. Phys. Commun. 183(4), 880–889 (2012)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgments

This work has been carried out within the framework of the EUROfusion Consortium and has received funding from the Euratom Research and Training Programme 2014–2018 under Grant Agreement No. 633053. Simulations were run on the EUROfusion Marconi supercomputer, in the context of the Selavlas project led by K. Kormann. The views and opinions expressed herein do not necessarily reflect those of the European Commission.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yann Barsamian .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Barsamian, Y., Charguéraud, A., Ketterlin, A. (2018). A Space and Bandwidth Efficient Multicore Algorithm for the Particle-in-Cell Method. In: Wyrzykowski, R., Dongarra, J., Deelman, E., Karczewski, K. (eds) Parallel Processing and Applied Mathematics. PPAM 2017. Lecture Notes in Computer Science(), vol 10777. Springer, Cham. https://doi.org/10.1007/978-3-319-78024-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-78024-5_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-78023-8

  • Online ISBN: 978-3-319-78024-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics