Compilation and porting of the code THATMPI using Cray compiler in LUMI

  • Name: Compilation and porting of the code THATMPI using Cray compiler in LUMI
  • EuroHPC machine used: LUMI
  • Topic: Natural sciences - Physical sciences

Overview of the project

The code THATMPI, a particle-in-cell (PIC) simulation code used in high-energy astrophysics for simulating plasma at the kinetic scales, has been used in many clusters, including those from Cyfronet in Poland. The code could only be compiled using Intel compilers (either ifort or ifx). The project aimed to prepare the code for compilation using other compilers i.e. Cray compiler, as well as optimise the code to obtain the best efficiency in different clusters. While no full porting to the Cray compiler was achieved, the code has been optimised successfully.

 

How did EPICURE support the project and what were the benefits of the support?

“The challenge was to port the code to a different compiler that appears to be significantly different than the previous compilers used (Intel compilers), as well as optimise the code. The code needs to be extremely well optimised, as it may require thousands of processes for a single simulation. In such case, an expert from EPICURE would optimise the code more efficiently than myself. EPICURE helped in optimising and prepare benchmarks for the code. EPICURE allowed me to readily ask for support from experts and obtain an optimised code that can be used by our group.

The benefits of the EPICURE support were, e.g., time saved (approximately half a year), improved benchmark, almost completed porting to Cray compilers and optimised benchmarks with little impact on the simulation itself, as well as further optimisation for intra-node.” – Gabriel Torralba Paz

 

Contact the project:

  • Gabriel Torralba Paz (gtorralba@ifj.edu.pl)