Journal of Frontiers of Computer Science and Technology ›› 2021, Vol. 15 ›› Issue (9): 1641-1657.DOI: 10.3778/j.issn.1673-9418.2010056

• Science Researches • Previous Articles     Next Articles

SWAM: Workload Automatic Mapper for SNN

YU Gongjian, ZHANG Lufei, LI Peiqi, HUA Xia, LIU Jiahang, CHAI Zhilei, CHEN Wenjie   

  1. 1. School of Artificial Intelligence and Computer Science, Jiangnan University, Wuxi, Jiangsu 214122, China
    2. State Key Laboratory of Mathematical Engineering and Advanced Computing, Wuxi, Jiangsu 214215, China
    3. Engineering Research Center for Software/Hardware Co-design Technology and Application, Ministry of Educa-tion, East China Normal University, Shanghai 200062, China
  • Online:2021-09-01 Published:2021-09-06

SWAM:SNN工作负载自动映射器

郁龚健张鲁飞李佩琦华夏刘家航柴志雷陈闻杰   

  1. 1. 江南大学 人工智能与计算机学院,江苏 无锡 214122
    2. 数学工程与先进计算国家重点实验室,江苏 无锡 214215
    3. 华东师范大学 软硬件协同设计技术与应用教育部工程研究中心,上海 200062

Abstract:

In order to meet the computing requirements of large-scale spiking neural network (SNN), neuromorphic computing systems usually need to adopt large-scale parallel computing platforms. Therefore, how to quickly deter-mine a reasonable number of computing nodes for the SNN workload (that is, how to properly map the workload to the computing platform) to obtain the best performance, better power consumption and other indicators has become one of the key issues that a neuromorphic computing system needs to solve. Firstly, this paper analyzes the SNN workload characteristics and establishes a calculation model for it. Then for the NEST simulator, this paper further instantiates SNN load model of storage, calculation and communication. Finally,  this paper designs and implements a NEST-based workload automatic mapper for SNN (SWAM). SWAM can automatically calculate the mapping result and complete the mapping, avoiding the extremely time-consuming manual trial process of workload mapping. SNN typical applications are run on three different computing platforms, ARM+FPGA, ARM, and PC clusters, and the mapping results of SWAM and LM (Levenberg-Marquardt) algorithm fitting and measured are compared. Experi-mental results show that the average mapping accuracy of SWAM reaches 98.833%. Compared with the LM method and the measured mapping, SWAM has absolute advantage in time cost.

Key words: spiking neural network (SNN), workload mapping, PYNQ clusters, field programmable gate array (FPGA) acceleration, NEST simulator

摘要:

为了满足大规模脉冲神经网络(SNN)的计算需求,类脑计算系统通常需要采用大规模并行计算平台。因此,如何快速为SNN工作负载确定合理的计算节点数(即如何把工作负载合理映射到计算平台上)以获得最佳的性能、功耗等指标就成为类脑计算系统需解决的关键问题之一。首先分析了SNN工作负载特性并为其建立起计算模型;然后针对NEST类脑仿真器,进一步实例化了SNN的内存、计算和通信负载模型;最终设计并实现了一种基于NEST的SNN工作负载自动映射器(SWAM)。SWAM可以自动计算出映射结果并完成映射,避免了极其耗时的工作负载映射手动试探过程。在ARM+FPGA、纯ARM、PC集群三种不同的计算平台上运行SNN典型应用,并比较SWAM、LM算法拟合和实测的映射结果。实验结果表明:SWAM的平均映射准确率达到98.833%,与LM方法与实测映射相比,SWAM具有绝对的时间代价优势。

关键词: 脉冲神经网络(SNN), 工作负载映射, PYNQ集群, 现场可编程逻辑门阵列(FPGA)加速, NEST仿真器