iPIC3D is an open-source C++ and MPI Particle-in-Cell code for the simulation of space plasma. The iPIC3D code is maintained at KTH and it is a component of the Space Weather Modeling Framework (SWMF) that is maintained at University of Michigan and used to predict the impact of space weather events in space. The numerical discretization of the Maxwell’s equa- tions and particle equations of motion is based on the semi-implicit method that allows simulations with large time step and grid spacing still retaining the numerical stability. iPIC3D is used at many Institutions in Europe (KTH, KU Leuven, University of Pisa, University of Nice) and it of importance for preparing ESA and NASA missions. The code is entirely written in C++ and consists of approximately 30,000 lines of code. Within the EPiGRAM project, we extended the scalability of the code up to one million cores, developed a GASPI communication, and experimented porting to GPU systems with OpenACC.
Our objective is to fully port iPIC3D to large- scale GPU heterogeneous systems using accelerator MPI extensions and au- tomatic data placement strategies for coupling with other component of the SWMF framework. In addition, we intend to use support for FPGAs and the deep-learning DSL to enable data analysis of the iPIC3D simulation results