Performance Analysis of Matrix Multiplication for Deep Learning on the Edge
Cristian Ramírez, Adrián Castelló, Héctor Martínez, Enrique S. Quintana-Ortí
TL;DR
The paper addresses the challenge of optimizing the $GEMM$ kernel for deep learning at the edge across heterogeneous IoT processors. It introduces a $GotoBLAS2$/BLIS–inspired performance simulator that models data transfers across memory hierarchy to evaluate blocked $GEMM$ variants on a GAP8–style edge device. Calibration experiments yield transfer and arithmetic rates, enabling runtime predictions with relative errors under $2\%$ for tested cases. Comparative analysis reveals how micro-kernel shape and block placement influence performance, with no single best variant across all layers, underscoring heterogeneity in edge workloads. The tool provides actionable guidance for architecture-aware $GEMM$ optimization and informs future extensions to cache-based models and multi-core edge platforms.
Abstract
The devices designed for the Internet-of-Things encompass a large variety of distinct processor architectures, forming a highly heterogeneous zoo. In order to tackle this, we employ a simulator to estimate the performance of the matrix-matrix multiplication (GEMM) kernel on processors designed to operate at the edge. Our simulator adheres to the modern implementations of GEMM, advocated by GotoBLAS2, BLIS, OpenBLAS, etc., to carefully account for the amount of data transfers across the memory hierarchy of different algorithmic variants of the kernel. %Armed with this tool, A small collection of experiments provide the necessary data to calibrate the simulator and deliver highly accurate estimations of the execution time for a given processor architecture.
