MSD: Mixing Signed Digit Representations for Hardware-efficient DNN Acceleration on FPGA with Heterogeneous Resources
Citation:
@INPROCEEDINGS{10171562, author={Wu, Jiajun and Zhou, Jiajun and Gao, Yizhao and Ding, Yuhao and Wong, Ngai and So, Hayden Kwok-Hay}, booktitle={2023 IEEE 31st Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)}, title={MSD: Mixing Signed Digit Representations for Hardware-efficient DNN Acceleration on FPGA with Heterogeneous Resources}, year={2023}, volume={}, number={}, pages={94-104}, doi={10.1109/FCCM57271.2023.00019}}
This repository contains the software and hardware open-source for MSD, an FPGA acceleration framework for DNN inference with mixed signed digit representations. By fully utilizing the heterogenous recourses on FPGA with different computation methods, this work achieves higher speedup performance compared with the traditional DSP-only acceleration. The MSD approach ensures the number representation capability and maintains quantization accuracy of DNN models, with an efficient bit-serial computation scheme based on restricted signed digit (RSD).
The artifacts of this design can be found in HKU Datahub. URL: https://doi.org/10.25442/hku.22182073.
./hardware
: MSD hardware projects based on Xilinx Vivado 2021.2 with the RTL source codes, bitstream, handoff file and host CPU codes../software
: MSD quantization and hardware scheduler with the Python source codes, running scripts, QAT checkpoints and scheduling results for different DNN models & hardware platforms.
The the hardware and software running enviroments are specified in ./hardware/README.md
and ./software/README.md
, respectively.
-
Software:
- To run the software evaluation, follow the evaluation steps in
./software/README.md
. - Please ensure the software enviroment is ready before running.
- To run the software evaluation, follow the evaluation steps in
-
Hardware:
- To run the hardware evaluation, follow the evaluation steps in
./hardware/README.md
. - Please ensure the hardware enviroment is ready before running.
- To run the hardware evaluation, follow the evaluation steps in