在很多大型計(jì)算數(shù)據(jù)中心需要完成超大規(guī)模的數(shù)據(jù)處理,這意味著需要大量的計(jì)算,因此對(duì)于系統(tǒng)性能的要求則不斷提升,最開(kāi)始我們不斷提升處理器的運(yùn)行頻率、增加處理器核心數(shù)量、采用更多的進(jìn)程服務(wù),但是這些方法會(huì)帶來(lái)一些其他的問(wèn)題,比如功耗的增加需要配備更大成本更高的電源、散熱量顯著增加則需要設(shè)置更大更好的散熱片或者風(fēng)扇,這些問(wèn)題無(wú)疑增加了成本。因此最好的方式就是采用FPGA實(shí)現(xiàn)硬件加速,然而很多軟件工程師對(duì)于硬件開(kāi)發(fā)語(yǔ)言VHDL/Verilog不熟悉無(wú)法實(shí)現(xiàn)開(kāi)發(fā)流程上的銜接,因此Xilinx推出了全新的SDSoC開(kāi)發(fā)環(huán)境,軟件工程使用C/C++語(yǔ)言就可以實(shí)現(xiàn)FPGA的硬件加速。
圖1:Xilinx SDSoC從軟件到硬件的開(kāi)發(fā)流程
SDSoC提供給用戶的是一個(gè)可以用來(lái)完成整個(gè)Zynq SoC和MPSoC開(kāi)發(fā)的基于Eclipse的軟件環(huán)境,這個(gè)環(huán)境對(duì)那些已經(jīng)在使用DSP芯片、視頻SoC 和CPU處理器的嵌入式開(kāi)發(fā)人員來(lái)說(shuō)是在熟悉不過(guò)的。SDSoC的核心技術(shù)則是界首創(chuàng)的全系統(tǒng)優(yōu)化編譯器,這個(gè)編譯器,不僅可以針對(duì)基于ARM的處理器系統(tǒng),也可以針對(duì)片內(nèi)的可編程邏輯。SDSoC開(kāi)發(fā)環(huán)境旨在為系統(tǒng)架構(gòu)師以及軟件開(kāi)發(fā)團(tuán)隊(duì)提供一個(gè)可以使用C / C ++來(lái)快速配置,并同步生成構(gòu)建系統(tǒng)所需的各類軟硬件架構(gòu)的可能。軟硬件統(tǒng)一的編譯器,可以從系統(tǒng)視角出發(fā),帶來(lái)最佳的系統(tǒng)構(gòu)建與連接,優(yōu)化的存儲(chǔ)器接口和軟件驅(qū)動(dòng)等。如下圖所示是采用SDSoC實(shí)現(xiàn)的不同實(shí)例的性能提升效果:
不同實(shí)例帶來(lái)的性能提升:
雙目(攝像頭)圖像采集與3D顯示——292倍
視頻的Sobel濾波處理——30倍
二值神經(jīng)網(wǎng)絡(luò)——1000倍
對(duì)于再好的CPU處理器或者更多核心的處理器也很難帶來(lái)性能上1000倍的提升,即使30倍也是一大瓶頸,因此無(wú)論我們?cè)鯓咏g盡腦汁優(yōu)化C/C++代碼在傳統(tǒng)處理器上性能提升的效果也是非常有限的,所以采用“Xilinx SDSoC + All Programmable SoC + C/C++”才是最佳的解決方案。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4814瀏覽量
103635
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論