一句话:提出 Tandem Processor 协处理器,以专用访存 ISA/微架构高效加速神经网络中的非 GEMM 新兴算子。
现有 NPU 研究过度聚焦 GEMM,非 GEMM 新兴算子却多样且与 GEMM 交织,常仅由专用块或通用处理器低效支持。本文设计片上协处理器 Tandem Processor,与优化的 GEMM 单元紧耦合。为平衡专用化与可编程性,它用新颖 ISA/微架构优化访存、削减寄存器堆及 load/store,并以基元算术/逻辑向量操作支持非 GEMM 层,从而在数学层面提供可编程性。对七个多样 DNN(含新兴语言模型)的端到端评估显示性能与能耗显著改善,并开源可综合 RTL、配套编译器及版图/后布局分析。
With the ever increasing prevalence of neural networks and the upheaval from the language models, it is time to rethink neural acceleration. Up to this point, the broader research community, including ourselves, has disproportionately focused on GEneral Matrix Multiplication (GEMM) operations. The supporting argument was that the large majority of the neural operations are GEMM. This argument guided the research in Neural Processing Units (NPUs) for the last decade. However, scant attention was paid to non-GEMM operations and they are rather overlooked. As deep learning evolved and progressed, these operations have grown in diversity and also large variety of structural patterns have emerged that interweave them with the GEMM operations. However, conventional NPU designs have taken rather simplistic approaches by supporting these operations through either a number of dedicated blocks or fall back to general-purpose processors. This work sets out to challenge the conventional wisdom in neural accelerator design and explore the architecture of an on-chip companion, dubbed Tandem Processor, that complements the rather optimized GEMM unit in neural accelerators. This processor needs to be specialized to keep up with the GEMM unit; and yet needs to be programmable to address the (1) structural and (2) operational variations. To strike a balance between specialization and programmability, on the one hand, we specialize its memory access logic with a novel ISA/microarchitecture that alleviates the register file and its associated load/store operations. On the other hand, the calculations of the non-GEMM layers are only supported through primitive arithmetic/logic vector operations. Therefore, programmability is offered at the mathematical level. The enhancements due to the specialization of the memory access logic in the Tandem Processor and its tight integration with the GEMM unit sustain the throughput and the utilization of the neural accelerator. Comprehensive evaluations of the proposed design based on the end-to-end execution of seven diverse DNNs including emerging language models show significant performance improvements and energy reduction enabled by leveraging the Tandem Processor. We provide the RTL code that is synthesizable both for FPGA and ASIC implementations in addition to the associated compiler as part of the open-source GeneSys project (https://actlab-genesys.github.io/). We also present the chip floorplan and post-layout analysis. This work is the result of 10 years of effort in building real NPUs that support end-to-end neural network execution.
@inproceedings{GhodratiKXMKAWK24,
title = {Tandem Processor: Grappling with Emerging Operators in Neural Networks},
author = {Soroush Ghodrati and Sean Kinzer and Hanyang Xu and Rohan Mahapatra and Yoonsung Kim and Byung Hoon Ahn and Dong Kai Wang and Lavanya Karthikeyan and Amir Yazdanbakhsh and Jongse Park and Nam Sung Kim and Hadi Esmaeilzadeh},
booktitle = {ASPLOS},
year = {2024},
doi = {10.1145/3620665.3640365}
}