Presentation

Performance Portability Using a Tool-Chain to Exploit Separation of Concerns
Presenter
DescriptionMulti-scale, multi-physics scientific and engineering simulation codes take years to develop and optimize. At the same time effective utilization of high performance computing (HPC) resources has always been a balancing act between portability and performance. Increasing heterogeneity and ongoing deep architecture changes in the HPC platforms from one generation to the next further complicate this balancing act. Abstractions within the applications codes that could utilize an ecosystem of tools such as unifiable expression of arithmetic, code transformations and runtime systems provide one possible approach that could deliver portability without significant performance loss. This presentation will outline one such approach which is applicable to a class of scientific codes that solve partial differential equations with predominantly explicit methods. The tool-chain was developed for Flash-X, a composable code that serves multiple domains. Fortran is the dominant language for the code, which precluded the use of C++ based performance portability solutions. Our tool-chain exploits separation of concerns to keep individual tools simple while being able to deliver an effective performance portability solution.
SlidesPDF
TimeMonday, June 2617:30 - 18:00 CEST
LocationFlüela
Event Type
Minisymposium
Domains
Computer Science, Machine Learning, and Applied Mathematics