ORCHA -- A Performance Portability System for Post-Exascale Systems
Youngjun Lee, Klaus Weide, Wesley Kwiecinski, Jared O'Neal, Johann Rudi, Anshu Dubey

TL;DR
ORCHA is a system that uses code synthesis and code generation to enable performance portability of complex scientific applications across diverse post-exascale hardware platforms, demonstrated on the Flash-X simulation software.
Contribution
It introduces a novel toolchain with three components for expressing control flow, data variants, and runtime orchestration, tailored for scientific software on heterogeneous systems.
Findings
Successfully mapped Flash-X to three different hardware configurations
Demonstrated performance portability across GPU-centric, balanced, and concurrent layouts
Enabled exploration of configuration space for optimal performance
Abstract
Heterogeneity is the prevalent trend in the rapidly evolving high-performance computing (HPC) landscape in both hardware and application software. The diversity in hardware platforms, currently comprising various accelerators and a future possibility of specializable chiplets, poses a significant challenge for scientific software developers aiming to harness optimal performance across different computing platforms while maintaining the quality of solutions when their applications are simultaneously growing more complex. Code synthesis and code generation can provide mechanisms to mitigate this challenge. We have developed a toolchain, ORCHA, which arises from the needs of a large multiphysics simulation software, Flash-X, which were not met by any of the existing solutions. ORCHA is composed of three stand-alone tools -- one to express high-level control flow and a map of what to…
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.
Taxonomy
TopicsReal-Time Systems Scheduling · Software System Performance and Reliability · Parallel Computing and Optimization Techniques
