Code modernization as a cornerstone for high-fidelity numerical simulations in industry

Nicolas Alferez (ONERA)

The CFD department in our institute has been developing computational fluid dynamics software for decades both for its own research and for industrial partners. Typical numerical simulations with realistic flow conditions on complex geometry typically require to march in time complex algorithms with billions of unknowns to compute few seconds of a relevant timescale. Therefore HPC capabilities, complex geometries (re)meshing and multiphysics coupling (e.g. noise generator and propagator) are crucial points to ensure an appropriate software efficiency and obtain a solution in an acceptable time. The development of a major evolution of our industry-oriented finite-volume solver (elsA) is currently conducted in collaboration with Intel through an Intel Parallel Computing Center. A special attention has been paid to achieving efficient shared memory parallelism (OpenMP) and use of modern vectorization capabilities (appropriate memory layouts and vectorization-friendly algorithms). A detailed description of the different steps conducted for the multi-core (e.g. cache-blocking, reduction of memory requirements) and the many-core (OpenMP strategy and corresponding algorithm) optimizations will be provided for Intel Xeon TM and Xeon Phi TM architectures. An example of application to the computation of the dynamic stall mechanisms around a NACA-0012 airfoil will be provided. This contribution illustrates how code modernization applies to an industry-oriented solver.