FLASH is a highly capable multiphysics multiscale modular extensible code, originally designed for simulating reactive flows. FLASH consists of interoperable modules that can be combined to generate different applications such as simulations of novae, supernovae, X‐Ray bursts, galaxy clusters, weakly compressible turbulence, and many other problems in astrophysics and other fields. FLASH has a wide user base, both within and outside the Flash Center, and is regularly used on largest available HPC platforms. With each new platform we encounter a new set of challenges, because the multiscale multiphysics nature of FLASH simulations exercise the machine’s hardware and system software greatly. The increase in the degree of concurrency with each new hardware generation has imposed changes on some of FLASH’s parallel algorithms. The pace of change has accelerated with the move towards petascale, and then to exascale. In this work we present some of our scaling hurdles and their solutions. In addition we discuss a more fundamental transition in the code to incorporate a hybrid shared and distributed memory model in preparation for the future million‐ to billion‐way parallelism.

This content is only available via PDF.
You do not currently have access to this content.