SDP: Co-Designing Algorithm, Dataflow, and Architecture for In-SRAM Sparse NN Acceleration

Processing-in-memory (PIM) is a promising architecture for neural network (NN) acceleration. Most previous PIMs are based on analog computing, so their accuracy and memory cell array utilization are limited by analog deviation and ADC overhead. Digital PIM is an emerging type of PIM architecture that integrates digital logic in memory cells, which can make full utilization of the cell array without accuracy loss. However, digital PIM’s rigid crossbar architecture and full array activation raise new challenges in sparse NN acceleration. Conventional unstructured or structured sparsity cannot perform well on both the weight and input side of digital PIM. We take the opportunities from digital PIM’s bit-serial processing and in-memory customization, to tackle the above challenges by the co-designing sparse algorithm, multiplication dataflow, and PIM architecture. At the algorithm level, we propose double-broadcast hybrid-grained pruning to exploit weight sparsity with better accuracy and efficiency balance. At the dataflow level, we propose a bit-serial Booth in-SRAM multiplication dataflow for stable acceleration from the input side. At the architecture level, we design a sparse digital PIM (SDP) accelerator with customized SRAM-PIM macros to support the proposed techniques. SDP achieves <inline-formula> <tex-math notation="LaTeX">$3.59\times $ </tex-math></inline-formula>, <inline-formula> <tex-math notation="LaTeX">$8.15\times $ </tex-math></inline-formula>, <inline-formula> <tex-math notation="LaTeX">$3.11\times $ </tex-math></inline-formula> area efficiency, and <inline-formula> <tex-math notation="LaTeX">$6.95\times $ </tex-math></inline-formula>, <inline-formula> <tex-math notation="LaTeX">$29.44\times $ </tex-math></inline-formula>, <inline-formula> <tex-math notation="LaTeX">$39.40\times $ </tex-math></inline-formula> energy savings, over state-of-the-art sparse NN architectures SIGMA, SRE, and Bit Prudent.