Code generation for in-place stencils - ONERA - Office national d'études et de recherches aérospatiales Accéder directement au contenu
Communication Dans Un Congrès Année : 2023

Code generation for in-place stencils

Résumé

Numerical simulation often resorts to iterative in-place stencils such as the Gauss-Seidel or Successive Overrelaxation (SOR) methods. Writing high performance implementations of such stencils requires significant effort and time; it also involves non-local transformations beyond the stencil kernel itself. While automated code generation is a mature technology for image processing stencils, convolutions and out-of-place iterative stencils (such as the Jacobi method), the optimization of in-place stencils requires manual craftsmanship. Building on recent advances in tensor compiler construction, we propose the first domain-specific code generator for iterative in-place stencils. Starting from a generic tensor compiler implemented in the MLIR framework, tensor abstractions are incrementally refined and lowered down to parallel, tiled, fused and vectorized code. We used our generator to implement a realistic, implicit solver for structured meshes, and demonstrate results competitive with an industrial computational fluid dynamics framework. We also compare with stand-alone stencil kernels for dense tensors.
Fichier principal
Vignette du fichier
DAAA2022-197-acceptee.pdf (969.66 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04116904 , version 1 (26-04-2024)

Identifiants

Citer

Mohamed Essadki, Bertrand Michel, Bruno Maugars, Oleksandr Zinenko, Nicolas Vasilache, et al.. Code generation for in-place stencils. CGO '23: 21st ACM/IEEE International Symposium on Code Generation and Optimization, Feb 2023, Montreal, Canada. pp.2-13, ⟨10.1145/3579990.3580006⟩. ⟨hal-04116904⟩
18 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More