李泽豪,程利甫,蒋仁兴,柳宜川,王琴
(1.上海交通大学电子信息与电气工程学院,上海,200240;2.上海航天电子技术研究所,上海,201109)
近年来,人工智能已经深入到人们生活中的每一个角落,现有的各类神经网络架构的计算量级达到了GB级别,网络中权重个数也在百万数量级,这导致对神经网络运算的硬件载体的算力和存储带宽要求更加严格。传统的基于冯诺依曼结构的CPU已难以满足要求,GPU和专用集成电路虽然可以大幅度提升运算速度,但分别由于功耗问题和灵活性问题导致其适用范围比较局限,因此兼具灵活性和低功耗的粗粒度可重构架构[1][2]逐渐成为了研究热点。
本文结合了脉动阵列的思想,设计了神经网络核心算法各个尺寸卷积操作的高效数据流,在保证PE利用率和运算吞吐率的同时保证了配置的可重用特性。
粗粒度可重构架构的核心计算资源是通过可重配置的互连网络连接而成功能单元阵列,如图1所示,可以将应用中的计算密集型任务、控制密集型任务或是数据密集型任务放置与阵列中进行硬件加速。

图1 通用CGRA架构
本文搭建的CGRA架构中有4个相同的PEA阵列,每个PEA阵列由64个异构PE组成,处理单元包括ALU、LSU、MUL、MAC等功能,如图2所示。可以看到,每个PE有四根输入线,分别是32bits位宽的IN1、IN2、IN3,以及1bit位宽的单比特控制信号IN4,输出有三根数据线,分别是32bits位宽的OUT1和OUT2,以及1bits位宽的输出控制信号线。Opcode输入控制PE功能与外部线连接。其中具有LSU功能,能够访问片上存储的PE单元分布在阵列四周。……