Evaluating Spatial Accelerator Architectures with Tiled Matrix-Matrix Multiplication
This work provides a tool for evaluating spatial accelerator architectures, which is incremental as it builds on existing methods for dataflow optimization.
The authors tackled the problem of evaluating custom spatial accelerators for machine learning by developing a framework that finds optimized mappings for tiled matrix-matrix multiplication, achieving high performance across five accelerators and various workloads.
There is a growing interest in custom spatial accelerators for machine learning applications. These accelerators employ a spatial array of processing elements (PEs) interacting via custom buffer hierarchies and networks-on-chip. The efficiency of these accelerators comes from employing optimized dataflow (i.e., spatial/temporal partitioning of data across the PEs and fine-grained scheduling) strategies to optimize data reuse. The focus of this work is to evaluate these accelerator architectures using a tiled general matrix-matrix multiplication (GEMM) kernel. To do so, we develop a framework that finds optimized mappings (dataflow and tile sizes) for a tiled GEMM for a given spatial accelerator and workload combination, leveraging an analytical cost model for runtime and energy. Our evaluations over five spatial accelerators demonstrate that the tiled GEMM mappings systematically generated by our framework achieve high performance on various GEMM workloads and accelerators.