Applications

The effectiveness of concepts that have been developed in EPiGRAM have been tested against two real-world open-source codes, iPIC3D and Nek5000. iPIC3D is a massively parallel Particle-in-Cell code that is written in C++ and using MPI. Nek5000 is a semi-spectral Computational Fluid Dynamics (CFD) code for solving fluid dynamics problems, such as the study of turbulence arising on the surface of airplane wings. Nek5000 is written in large part in Fortran and in a small part in C and it uses MPI for parallel communication.

The EPiGRAM codes have been used for providing feedback to development of the programming systems in EPiGRAM: they have been employed to test new features in MPI and GASPI programming systems, to provide feedback to the developers of EMPI4Re library, and to compare the performance of the EPiGRAM programming system implementations in real-world applications.

The new EPiGRAM communication kernel of iPIC3D is now included in the release version of the codeĀ [29] and enabled large scale simulations of magnetospheric physics. Together with the improvement of the communication kernels of the applications, also OpenACC/OpenMP porting of the applications to GPU systems and new algorithmic strategies have been implemented in EPiGRAM.