Automated Generation of High-Performance Computational Fluid Dynamics Codes
Sandra Maci\`a, Pedro J. Mart{\i}\'inez-Ferrer, Eduard Ayguad\'e,, Vicen\c{c} Beltran

TL;DR
This paper introduces Saiph, a DSL that automatically generates optimized parallel CFD codes from mathematical specifications, achieving performance and scalability comparable to manual implementations.
Contribution
It presents an automated process for generating high-performance CFD codes from high-level specifications, integrating low-level optimizations and parallelization within the Saiph DSL.
Findings
Generated codes match the performance of manually optimized implementations.
Codes effectively scale from single-core to distributed multi-core environments.
High-level DSLs can transparently leverage advanced HPC techniques.
Abstract
Domain-Specific Languages (DSLs) improve programmers productivity by decoupling problem descriptions from algorithmic implementations. However, DSLs for High-Performance Computing (HPC) have two additional critical requirements: performance and scalability. This paper presents the automated process of generating, from abstract mathematical specifications of Computational Fluid Dynamics (CFD) problems, optimised parallel codes that perform and scale as manually optimised ones. We consciously combine within Saiph, a DSL for solving CFD problems, low-level optimisations and parallelisation strategies, enabling high-performance single-core executions which effectively scale to multi-core and distributed environments. Our results demonstrate how high-level DSLs can offer competitive performance by transparently leveraging state-of-the-art HPC techniques.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
