Tetris-SDK: Efficient Convolution Layer Mapping with Adaptive Windows for Fast In Memory Computing
Ke Dong, Kejie Huang, Bo Wang · 2024
Shifted-and-Duplicated-Kernel (SDK) mapping has emerged as a promising technique for accelerating convolutional layers in Compute-In-Memory (CIM) architectures. While state-of-the-art SDK variants have achieved decent mapping efficiency, optimizations are still desired to enhance CIM utilization and reduce computing cycles. In this work, we propose Tetris-SDK, a novel tool that exploits adaptive windows to further improve the performance of convolution layer mapping. These windows can accommodate a larger number of input channels, increase array utilization at marginal space, and adjust window shapes to minimize compute latency. Our experiments with a 512 × 512 CIM array demonstrate that Tetris-SDK remarkably accelerates CNN layers up to 78.4×, 8×, and 1.3× compared to the baseline mapping algorithms, i.e., img2col, SDK, and VW-SDK, respectively. This shows that Tetris-SDK is a promising design automation solution to map Convolutional Neural Networks in CIM hardware.