陳 朋 陳慶清 王海霞 張怡龍 劉義鵬 梁榮華
(*浙江工業大學計算機科學與技術學院 杭州 310000) (**浙江工業大學信息工程學院 杭州 310000)
近年來,由于卷積神經網絡(convolutional neural network,CNN)的結構層次越來越深,在圖像分類、目標檢測、目標跟蹤[1]等計算機視覺領域都得到了廣泛的應用,但高計算復雜度和大內存占用是硬件加速的瓶頸,需要開發更高效的硬件加速解決方案來驅動實時應用程序[2]。Li等人[3]提出了基于GPU的大規模遞歸神經網絡的高效實現。Li等人[4]分析了GPU加速器潛在的性能瓶頸。隨著CNN模型越來越大、越來越深,CNN加速器需要更多的計算操作和數據訪問,雖然GPU具有強大的計算能力,但也存在著功耗較高、體積較大和成本較高等問題。
現場可編程門陣列(field programmable gate arrang, FPGA)具有大量陣列形式邏輯、運算單元,在尺寸、功耗和并行運算方面都比GPU有優勢[5],具有高性能、低功耗、使用靈活方便等優點[6]。傳統構造FPGA的卷積神經網絡的方式是基于寄存器傳輸級(register transfer level,RTL)描述語言設計的。郭曉丹等人[7]在FPGA上實現了單比特BP人工神經網絡,采用了低環路延遲加法器、混合信號乘法器來減少硬件消耗,提高運算精度。Han等人[8]在FPGA平臺上設計的網絡加速器,其能源效率是CPU的40倍,GPU的11.5倍。林軍等人[9]提出了基于數據流水線的資源管理,馮煜晶等人[10]針對流水線停頓提出了動態指令調度機制。Li等人[11]采用流水線結構達到565.94 GOP/s和391 fps的峰值性能。但傳統的基于RTL設計的神經網絡仍然具有流程復雜、周期較長和優化空間較小等問題[12]。Ma等人[13,14]基于RTL設計了可擴展的自動編譯器,但仍然無法避免流程復雜、周期較長等問題。……