CASUS Hands-on Software Seminar, Hannes Tröpgen, TU Dresden
PIConGPU is a fully relativistic, manycore, 3D3V particle-in-cell (PIC) code, which is mainly used for modeling laser-plasma physics. Its input parameters are provided at compile-time by a set of C++ header files to facilitate compiler-optimizations for high GPU performance. In order to simplify this process – for making it more user-friendly, enabling automatization or testing via Python and establishing community-driven input standards for PIC codes – Hannes presents an implementation of the Particle-In-Cell Modeling Interface (PICMI) for PIConGPU. Parameters are provided based on a standard shared between multiple PIC codes, enabling control of the C++ backend through a Python frontend. In this seminar, general approaches will be discussed as well as the possibilities and limitations of this implementation. In addition, selected challenges will be highlighted.