Orchestrating Data Movement and Computation for a Multiphysics Application at Scale
Data locality on new and future generation platforms is expected to be of paramount importance for good performance. However, many applications in astrophysics are by nature multiphysics, involving multiple solvers with diverse data layouts and communication patterns. Additionally, because they can have a large dynamic range of scales, different resolutions in different parts of the domains may be necessary for computational efficiency. Thus, the constraints placed on data management due to the physics models and their corresponding numerical methods can be at cross purposes with data locality. To effectively use heterogeneous platforms with multiple devices, movement of data must be orchestrated well. In FLASH-X, a new multiphysics code derived from FLASH, we have developed an orchestration layer with a tool-chain for configuration, code generation and runtime management. Configurations and runtime portions of the tool-chain have been prototyped and are under evaluation now, and indications are that they will deliver good, and portable performance. I will present the overview and status of the tool-chain in this talk.