Spiking Neural Networks (SNNs) are an emerging computation model that uses event-driven activation and bio-inspired learning algorithms. SNN-based machine learning programs are typically executed on tile-based neuromorphic hardware platforms, where each tile consists of a computation unit called a crossbar, which maps neurons and synapses of the program. However, synthesizing such programs on an off-the-shelf neuromorphic hardware is challenging. This is because of the inherent resource and latency limitations of the hardware, which impact both model performance, e.g., accuracy, and hardware performance, e.g., throughput. We propose DFSynthesizer, an end-to-end framework for synthesizing SNN-based machine learning programs to neuromorphic hardware. The proposed framework works in four steps. First, it analyzes a machine learning program and generates SNN workload using representative data. Second, it partitions the SNN workload and generates clusters that fit on crossbars of the target neuromorphic hardware. Third, it exploits the rich semantics of the Synchronous Dataflow Graph (SDFG) to represent a clustered SNN program, allowing for performance analysis in terms of key hardware constraints such as number of crossbars, dimension of each crossbar, buffer space on tiles, and tile communication bandwidth. Finally, it uses a novel scheduling algorithm to execute clusters on crossbars of the hardware, guaranteeing hardware performance. We evaluate DFSynthesizer with 10 commonly used machine learning programs. Our results demonstrate that DFSynthesizer provides a much tighter performance guarantee compared to current mapping approaches.
@article{osti_1980837,
author = {Song, Shihao and Chong, Harry and Balaji, Adarsha and Das, Anup and Shackleford, James and Kandasamy, Nagarajan},
title = {DFSynthesizer: Dataflow-based Synthesis of Spiking Neural Networks to Neuromorphic Hardware},
annote = {Spiking Neural Networks (SNNs) are an emerging computation model that uses event-driven activation and bio-inspired learning algorithms. SNN-based machine learning programs are typically executed on tile-based neuromorphic hardware platforms, where each tile consists of a computation unit called a crossbar, which maps neurons and synapses of the program. However, synthesizing such programs on an off-the-shelf neuromorphic hardware is challenging. This is because of the inherent resource and latency limitations of the hardware, which impact both model performance, e.g., accuracy, and hardware performance, e.g., throughput. We propose DFSynthesizer, an end-to-end framework for synthesizing SNN-based machine learning programs to neuromorphic hardware. The proposed framework works in four steps. First, it analyzes a machine learning program and generates SNN workload using representative data. Second, it partitions the SNN workload and generates clusters that fit on crossbars of the target neuromorphic hardware. Third, it exploits the rich semantics of the Synchronous Dataflow Graph (SDFG) to represent a clustered SNN program, allowing for performance analysis in terms of key hardware constraints such as number of crossbars, dimension of each crossbar, buffer space on tiles, and tile communication bandwidth. Finally, it uses a novel scheduling algorithm to execute clusters on crossbars of the hardware, guaranteeing hardware performance. We evaluate DFSynthesizer with 10 commonly used machine learning programs. Our results demonstrate that DFSynthesizer provides a much tighter performance guarantee compared to current mapping approaches.},
doi = {10.1145/3479156},
url = {https://www.osti.gov/biblio/1980837},
journal = {ACM Transactions on Embedded Computing Systems},
issn = {ISSN 1539-9087},
number = {3},
volume = {21},
place = {United States},
publisher = {Association for Computing Machinery (ACM)},
year = {2022},
month = {05}}
2013 International Joint Conference on Neural Networks (IJCNN 2013 - Dallas), The 2013 International Joint Conference on Neural Networks (IJCNN)https://doi.org/10.1109/IJCNN.2013.6707078
CHASE '18: ACM/IEEE International Conference on Connected Health: Applications, Systems and Engineering Technologies, Proceedings of the 2018 IEEE/ACM International Conference on Connected Health: Applications, Systems and Engineering Technologieshttps://doi.org/10.1145/3278576.3278598
2009 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops (CVPR Workshops), 2009 IEEE Conference on Computer Vision and Pattern Recognitionhttps://doi.org/10.1109/CVPR.2009.5206848
Proceedings of the 6th Workshop on Parallel Programming and Run-Time Management Techniques for Many-core Architectureshttps://doi.org/10.1145/2701310.2701311
LCTES '20: 21st ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems, The 21st ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systemshttps://doi.org/10.1145/3372799.3394364
ISMM '20: 2020 ACM SIGPLAN International Symposium on Memory Management, Proceedings of the 2020 ACM SIGPLAN International Symposium on Memory Managementhttps://doi.org/10.1145/3381898.3397215
ISMM '20: 2020 ACM SIGPLAN International Symposium on Memory Management, Proceedings of the 2020 ACM SIGPLAN International Symposium on Memory Managementhttps://doi.org/10.1145/3381898.3397210
ASPDAC '21: 26th Asia and South Pacific Design Automation Conference, Proceedings of the 26th Asia and South Pacific Design Automation Conferencehttps://doi.org/10.1145/3394885.3431529