Speaker
Description
This paper presents an original implementation of a Particle-in-Cell (PIC) solver with Monte Carlo Collisions (MCC), fully parallelized on CUDA GPUs and developed entirely in the Julia programming language. By leveraging Julia's capability to write CUDA kernels natively, this implementation effectively addresses the "two-language problem" commonly encountered in high-performance computing. The solver's accuracy was validated using the well-established M. M. Turner's benchmark for capacitively coupled discharges, ensuring the reliability of the results. Performance comparisons against both a sequential CPU version and a state-of-the-art CUDA C implementation reveal that, while the Julia-based solver achieves substantial speedup over the CPU counterpart, it currently falls short of the performance levels attained by the most optimized CUDA C implementations. Further refinements and optimizations are necessary to reach this approach's potential fully.
- Z. Juhasz, J. Ďurian, A. Derzsi, Š. Matejčík, Z. Donkó, and P. Hartmann, ‘Efficient GPU implementation of the Particle-in-Cell/Monte-Carlo collisions method for 1D simulation of low-pressure capacitively coupled plasmas’, Computer Physics Communications, vol. 263, p. 107913, Jun. 2021, doi: 10.1016/j.cpc.2021.107913.
-
M. M. Turner et al., ‘Simulation benchmarks for low-pressure plasmas: Capacitive discharges’, Physics of Plasmas, vol. 20, no. 1, p. 013507, Jan. 2013, doi: 10.1063/1.4775084.
-
T. Besard, C. Foket, and B. De Sutter, ‘Effective Extensible Programming: Unleashing Julia on GPUs’, IEEE Trans. Parallel Distrib. Syst., vol. 30, no. 4, pp. 827–841, Apr. 2019, doi: 10.1109/TPDS.2018.2872064.
- J. Bezanson, A. Edelman, S. Karpinski, and V. B. Shah, ‘Julia: A Fresh Approach to Numerical Computing’, SIAM Rev., vol. 59, no. 1, pp. 65–98, Jan. 2017, doi: 10.1137/141000671.
- N. Hanzlikova, ‘Particle-In-Cell Simulations Of Highly Collisional Plasmas On The GPU In 1 And 2 Dimensions’, Ph.D. thesis, Dublin City University, Dublin, 2015.