1. A portable coding strategy to exploit vectorization on combustion simulations.
- Author
-
Banchelli, Fabio, Oyarzun, Guillermo, Garcia-Gasulla, Marta, Mantovani, Filippo, Both, Ambrus, Houzeaux, Guillaume, and Mira, Daniel
- Subjects
- *
COMBUSTION , *BLOCK codes , *COMPILERS (Computer programs) , *DATA structures , *CYCLING instruction , *HIGH performance computing - Abstract
The complexity of combustion simulations demands the latest high-performance computing tools to accelerate its time-to-solution results. A current trend on HPC systems is the utilization of CPUs with SIMD or vector extensions to exploit data parallelism. Our work proposes a strategy to improve the automatic vectorization of finite-element-based scientific codes. The approach applies a parametric configuration to the data structures to help the compiler detect the block of codes that can take advantage of vector computation while maintaining the code portable. A detailed analysis of the computational impact of this methodology on the different stages of a CFD solver is studied on the PRECCINSTA burner simulation. Our parametric implementation has proven to help the compiler generate more vector instructions in the assembly operation: this results in a reduction of up to 9. 39 × of the total executed instruction maintaining constant the Instructions Per Cycle and the CPU frequency. The proposed strategy improves the performance of the CFD case under study up to 4. 67 × on the MareNostrum 4 supercomputer. • A parametric configuration of the CFD data structures is presented for enabling auto-vectorization. • A detailed performance analysis using different compilers is applied to a real CFD case. • A reduction of up to 9.39 times of the total executed instruction is attained, maintaining constant the IPC and the CPU frequency. • The proposed strategy accelerates up to 4.67 the PRECCINSTA burner simulation on the Marenostrum4 nodes. [ABSTRACT FROM AUTHOR]
- Published
- 2024
- Full Text
- View/download PDF