🤖 AI Summary
This work addresses the challenge of efficiently mapping unstructured-mesh multiphysics applications onto spatial dataflow architectures originally designed for structured grids, which suffer from irregular memory access patterns and high-dimensional communication overhead. The authors propose an automated co-decomposition approach that jointly partitions code and data by modeling communication and memory characteristics, leveraging space-filling curves to enable high-dimensional partitioning that minimizes inter-partition communication. Integrated memory optimization techniques further adapt the execution to memory-constrained hardware. The methodology is the first to systematically deploy unstructured-mesh applications on the Cerebras Wafer-Scale Engine, demonstrating superior performance over GPUs on large-scale LULESH hydrodynamics benchmarks and validating both the effectiveness and scalability of the proposed approach.
📝 Abstract
Spatial Dataflow Architectures are an emerging hardware pattern in high-performance computing, whose mesh-connected fixed-memory processing elements are tailored for structured grid kernels with two-dimensional neighborhoods. However, practical multiphysics codes are often computed on unstructured grids, which induce indirect memory accesses and high-dimensional communication patterns, making them infeasible to directly map onto said architectures. This work takes a principled, model-centric approach to partitioning unstructured problems onto spatial dataflow architectures. Through communication and memory modeling, we propose a joint decomposition that considers both the size of the application's fields and its subroutines. In particular, we automate the analysis process of the original code, define a high-dimensional decomposition that minimizes communication via space-filling curves, and apply memory optimization techniques, crucial in this memory-limited environment. We demonstrate mapping the Livermore Unstructured Lagrangian Explicit Shock Hydrodynamics (LULESH) application to the Cerebras Wafer-Scale Engine, showing that larger, unstructured grid codes can still outperform GPUs.