TY - GEN
T1 - A task programming implementation for the particle in cell code smilei
AU - Massimo, Francesco
AU - Lobet, Mathieu
AU - Derouillat, Julien
AU - Beck, Arnaud
AU - Bouchard, Guillaume
AU - Grech, Mickael
AU - Pérez, Fréderic
AU - Vinci, Tommaso
N1 - Publisher Copyright:
© 2022 ACM.
PY - 2022/6/27
Y1 - 2022/6/27
N2 - An implementation of the electromagnetic Particle in Cell loop in the code Smilei using task programming is presented. Through OpenMP, the macro-particles operations are formulated in terms of tasks. This formulation allows asynchronous execution respecting the data dependencies of the macro-particle operations, the most time-consuming part of the code in simulations of interest for plasma physics. Through some benchmarks it is shown that this formulation can help mitigating the load imbalance of these operations at the OpenMP thread level. The improvements in strong scaling for load-imbalanced physical cases are discussed.
AB - An implementation of the electromagnetic Particle in Cell loop in the code Smilei using task programming is presented. Through OpenMP, the macro-particles operations are formulated in terms of tasks. This formulation allows asynchronous execution respecting the data dependencies of the macro-particle operations, the most time-consuming part of the code in simulations of interest for plasma physics. Through some benchmarks it is shown that this formulation can help mitigating the load imbalance of these operations at the OpenMP thread level. The improvements in strong scaling for load-imbalanced physical cases are discussed.
KW - particle in cell code
KW - task programming
UR - https://www.scopus.com/pages/publications/85134803939
U2 - 10.1145/3539781.3539788
DO - 10.1145/3539781.3539788
M3 - Conference contribution
AN - SCOPUS:85134803939
T3 - Proceedings of the Platform for Advanced Scientific Computing Conference, PASC 2022
BT - Proceedings of the Platform for Advanced Scientific Computing Conference, PASC 2022
PB - Association for Computing Machinery, Inc
T2 - 2022 Platform for Advanced Scientific Computing Conference, PASC 2022
Y2 - 27 June 2022 through 29 June 2022
ER -