TGU:开源神经网络处理器



  • 项目简介

    本项目为通用可配置的卷积神经网络加速器,支持CNN,Relu,LeakyRelu,MaxPool,concat等十多个神经网络算子。项目采用SpinalHDL语言开发,采取插件化的形式,具有高度的可配置性和硬件裁剪性。根据FPGA资源、吞吐率、延迟等不同要求,可以配置和裁剪为不同形式的卷积神经网络加速器。与此同时,可使用与本加速器配套的编译器进行指令生成,显著加快开发速度。

    Github地址

    https://github.com/19801201/SpinalHDL_CNN_Accelerator

    技术特性

    卷积加速器的具体特性如下:

    • 完整的卷积、量化、shape实现
    • 可配置的参数化接口
    • 可选的卷积核类型
    • 在代码层面优化了FPGA资源占用
    • 手写实现了丰富的工具类库
    • 对DMA、AXI的访问控制
    • 自动生成用于例化Xilinx IP的tcl文件
    • 易于运行的顶层文件
    • 实现了卷积操作的仿真文件的自动生成
    • 采取8bit量化网络
    • 实现了DSP倍频和复用,使DSP在相同并行度的情况下为原来的1/4

    下面是采取并行度为64的,进行DSP复用的工程:
    alt text

    资源利用情况:
    alt text

    项目维护

    项目由天津工业大学高性能嵌入式实验室进行维护和更新,新的特性在逐步更新中。