在很多大型計算數(shù)據(jù)中心需要完成超大規(guī)模的數(shù)據(jù)處理,這意味著需要大量的計算,因此對于系統(tǒng)性能的要求則不斷提升,最開始我們不斷提升處理器的運行頻率、增加處理器核心數(shù)量、采用更多的進(jìn)程服務(wù),但是這些方法會帶來一些其他的問題,比如功耗的增加需要配備更大成本更高的電源、散熱量顯著增加則需要設(shè)置更大更好的散熱片或者風(fēng)扇,這些問題無疑增加了成本。因此最好的方式就是采用FPGA實現(xiàn)硬件加速,然而很多軟件工程師對于硬件開發(fā)語言VHDL/Verilog不熟悉無法實現(xiàn)開發(fā)流程上的銜接,因此Xilinx推出了全新的SDSoC開發(fā)環(huán)境,軟件工程使用C/C++語言就可以實現(xiàn)FPGA的硬件加速。

圖1:Xilinx SDSoC從軟件到硬件的開發(fā)流程
SDSoC提供給用戶的是一個可以用來完成整個Zynq SoC和MPSoC開發(fā)的基于Eclipse的軟件環(huán)境,這個環(huán)境對那些已經(jīng)在使用DSP芯片、視頻SoC 和CPU處理器的嵌入式開發(fā)人員來說是在熟悉不過的。SDSoC的核心技術(shù)則是界首創(chuàng)的全系統(tǒng)優(yōu)化編譯器,這個編譯器,不僅可以針對基于ARM的處理器系統(tǒng),也可以針對片內(nèi)的可編程邏輯。SDSoC開發(fā)環(huán)境旨在為系統(tǒng)架構(gòu)師以及軟件開發(fā)團(tuán)隊提供一個可以使用C / C ++來快速配置,并同步生成構(gòu)建系統(tǒng)所需的各類軟硬件架構(gòu)的可能。軟硬件統(tǒng)一的編譯器,可以從系統(tǒng)視角出發(fā),帶來最佳的系統(tǒng)構(gòu)建與連接,優(yōu)化的存儲器接口和軟件驅(qū)動等。如下圖所示是采用SDSoC實現(xiàn)的不同實例的性能提升效果:

不同實例帶來的性能提升:
雙目(攝像頭)圖像采集與3D顯示——292倍
視頻的Sobel濾波處理——30倍
二值神經(jīng)網(wǎng)絡(luò)——1000倍
對于再好的CPU處理器或者更多核心的處理器也很難帶來性能上1000倍的提升,即使30倍也是一大瓶頸,因此無論我們怎樣絞盡腦汁優(yōu)化C/C++代碼在傳統(tǒng)處理器上性能提升的效果也是非常有限的,所以采用“Xilinx SDSoC + All Programmable SoC + C/C++”才是最佳的解決方案。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4830瀏覽量
106935
發(fā)布評論請先 登錄

一文了解二值神經(jīng)網(wǎng)絡(luò)性能提升1000倍是真是假
評論