Abstract
We illustrate the parallelization of PIC code, for kinetic simulation of Low Temperature Plasmas, on Intel Multicore (Xeon) and Manycore (Xeon Phi) architectures, and subsequently on a HPC cluster. The implementation of 2D-3v PIC-MCC algorithm described in the paper involves computational solution of Vlassov-Poisson equations, which provides the spatial and temporal evolution of charged-particle velocity distribution functions in plasmas under the effect of self-consistent electromagnetic fields and collisions. Stringent numerical constraints on total number of particles, number of grid points and simulation time-scale associated with PIC codes makes it computationally prohibitive on CPUs (serial code) in case of large problem sizes. We first describe a shared memory parallelization technique using OpenMP library and then propose a hybrid parallel scheme (OpenMP+MPI) consisting of a distributed memory system. OpenMP based PIC code has been executed on Xeon processor and Xeon-Phi co-processors (Knights Corner and Knights Landing) and we compare our results against a serial implementation on Intel core i5 processor. Finally, we compare the results of the hybrid parallel code with the OpenMP based parallel code. Hybrid strategy based on OpenMP and MPI, involving a three-level parallelization (instruction-level, thread-level over many cores and node-level across a cluster of Xeon processors), achieves a linear speedup on an HPC cluster with 4 nodes (total 64 cores). The results show that our particle decomposition based hybrid parallelization technique using private grids scale efficiently with increasing problem size and number of cores in the cluster.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
The text in this particular subsection has been adopted from [4].
References
Adamovich, I., et al.: The 2017 plasma roadmap: low temperature plasma science and technology. J. Phys. D: Appl. Phys. 50(32), 323001 (2017)
Birdsall, C.K., Langdon, A.B.: Plasma Physics via Computer Simulations. CRC Press, Boca Raton (1991)
Birdsall, C.K., Fellow, L.: Particle-in-cell charged-particle simulations, plus Monte Carlo collision with neutral atom, PIC-MCC. IEEE Trans. Plasma Sci. 19(2), 65–85 (1991)
Shah, H., Kamaria, S., Markandeya, R., Shah, M., Chaudhury, B.: A novel implementation of 2D3V particle-in-cell (PIC) algorithm for Kepler GPU architecture. In: IEEE 24th International Conference on High Performance Computing (HiPC), pp. 378–387 (2017)
Verboncoeur, J.P.: Particle simulation of plasmas: review and advances. Plasma Phys. Control. Fusion 47(5A), A231–A260 (2005)
Hariri, F., et al.: A portable platform for accelerated PIC codes and its application to GPUs using OpenACC. Comput. Phys. Commun. 207, 69–82 (2016)
Derouillat, J., et al.: SMILEI: a collaborative, open-source, multi-purpose particle-in-cell code for plasma simulation. Comput. Phys. Commun. 222, 351–373 (2018)
Decyk, V.K., Singh, T.V.: Particle-in-cell algorithms for emerging computer architectures. Comput. Phys. Commun. 185(3), 708–719 (2014)
Carmona, E.A., Chandler, L.J.: On parallel PIC versatility and the structure of parallel PIC approaches. Concurr. Comput.: Pract. Exp. 9, 1377–1405 (1997)
Adams, M.F., Ethier, S., Wichmann, N.: Performance of particle in cell methods on highly concurrent computational architectures. J. Phys.: Conf. Ser. 78, 012001 (2007)
Burau, H., et al.: PIConGPU: a fully relativistic particle-in-cell code for a GPU cluster. IEEE Trans. Plasma Sci. 38(10), 2831–2839 (2010)
Claustre, J., Chaudhury, B., Fubiani, G., Paulin, M., Boeuf, J.P.: Particle-in-cell monte carlo collision model on GPU-application to a low-temperature magnetized plasma. IEEE Trans. Plasma Sci. 41(2), 391–399 (2013)
Madduri, K., Su, J., Williams, S., Oliker, L., Ethier, S., Yelick, K.: Optimization of parallel particle-to-grid interpolation on leading multicore platforms. IEEE Trans. Parallel Distrib. Syst. 23(10), 1915–1922 (2012)
Boeuf, J.P., Chaudhury, B., Garrigues, L.: Physics of a magnetic filter for negative ion sources. I. Collisional transport across the filter in an ideal, 1D filter. Phys. Plasmas 19(11), 113509 (2012)
Fehske, H., Schneider, R., Weibe, A.: Computational Many-Particle Physics. Lecture Notes in Physics, vol. 739. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-74686-7
Tskhakaya, D., Matyash, K., Schneider, R., Taccogna, F.: The particle-in-cell method. Contrib. Plasma Phys. 47(8–9), 563–594 (2007)
Schenk, O., Gartner, K.: Solving unsymmetric sparse systems of linear equations with PARDISO. Futur. Gener. Comput. Syst. 20(3), 475–487 (2004)
Boris, J.P.: Relativistic plasma simulation-optimization. In: 4th Conference on Numerical Simulation of Plasma, no. November 1970, p. 3 (1970)
Lapenta, G.: Particle-based simulation of plasmas. In: Plasma Modeling. IOP Publishing, Bristol (2016). https://doi.org/10.1088/978-0-7503-1200-4ch4. Chap. 4
Sodani, A., et al.: Knights landing: second-generation Intel Xeon Phi product. IEEE Micro 36(2), 34–46 (2016)
Bansal, G., et al.: Negative ion beam extraction in ROBIN. Fusion Eng. Des. 88, 778–782 (2013)
Rabenseifner, R.: Hybrid parallel programming on HPC platforms. In: Fifth European Workshop on OpenMP, EWOMP 2003, Aachen, Germany, 22–26 September 2003 (2003)
Bowers, K.: Accelerating a particle-in-cell simulation using a hybrid counting sort. J. Comput. Phys. 173, 393–411 (2001)
Hoefler, T., Belli, R.: Scientific benchmarking of parallel computing systems: twelve ways to tell the masses when reporting performance results. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, p. 73 (2015)
Acknowledgement
The work has been carried out using the HPC facilities at DA-IICT and hardware received under BRNS-PFRC project. We would also like to acknowledge the help received from Colfax’s remote access program. We thank Siddarth Kamaria, Harshil Shah and Riddhesh Markandeya for their contribution towards the serial code development. Miral Shah thanks Department of Atomic Energy, Govt. of India for junior research fellowship (JRF) received under BRNS-PFRC project (No. 39/27/2015-BRNS/34081).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Chaudhury, B. et al. (2019). Hybrid Parallelization of Particle in Cell Monte Carlo Collision (PIC-MCC) Algorithm for Simulation of Low Temperature Plasmas. In: Majumdar, A., Arora, R. (eds) Software Challenges to Exascale Computing. SCEC 2018. Communications in Computer and Information Science, vol 964. Springer, Singapore. https://doi.org/10.1007/978-981-13-7729-7_3
Download citation
DOI: https://doi.org/10.1007/978-981-13-7729-7_3
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-7728-0
Online ISBN: 978-981-13-7729-7
eBook Packages: Computer ScienceComputer Science (R0)