ZPIC featured in European project for optimization of HPC applications
The joint European project Effort toward a Highly Productive Programming Environment for Heterogeneous Exascale Computing (EPEEC) has conducted a test on the effective advantages of task-based parallel programming models using ZPIC as a reference High-Performance Computing (HPC) application for kinetic plasma simulations. The results from this test show a path for alternative high-efficiency parallelization of the PIC algorithm that can be straightforwardly applied in many novel architectures, including FPGA and GPGPU based accelerators.
Different task-based implementations of ZPIC have been developed based on the OmpSs-2 programming model and their performance was tested on two classical test plasma physics problems: laser wakefield acceleration and the Weibel instability. Some of the implementations demonstrated near-perfect scaling for 48 cores despite unbalanced conditions, an impressive result accomplished while retaining the code simplicity of task-based programming. More details of this study can be found here.
EPEEC’s main goal is to develop and deploy a production-ready parallel programming environment that turns upcoming overwhelmingly-heterogeneous exascale supercomputers into manageable platforms for domain application developers. The consortium will significantly advance and integrate existing state-of-the-art components based on European technology (programming models, runtime systems, and tools) with key features enabling 3 overarching objectives: high coding productivity, high performance, and energy awareness. ZPIC and its older brother OSIRIS are two of the reference HPC applications being used to develop and benchmark EPEEC’s effort.