先前的研究表明,在FPGA或ASIC實(shí)現(xiàn)圖像處理算法可以將CPU的能效提高500倍。隨著主流計(jì)算向低功耗移動(dòng)設(shè)備的發(fā)展,這種效率的提高變得越來(lái)越必要。來(lái)自圖像處理和計(jì)算機(jī)視覺(jué)社區(qū)的最新研究不能作為軟件在所述平臺(tái)運(yùn)行,因?yàn)樗鼤?huì)消耗太多的電能或超過(guò)熱極限。遺憾的是,大多數(shù)研究人員和公司都無(wú)法將最新的圖像處理研究成果轉(zhuǎn)化為定制硬件:硬件的設(shè)計(jì)和實(shí)現(xiàn)成本太高,開(kāi)發(fā)時(shí)間太長(zhǎng)。
將最新的圖像處理和計(jì)算機(jī)視覺(jué)研究引入到廣泛的用戶群要求我們降低定制硬件的成本和開(kāi)發(fā)時(shí)間。硬件設(shè)計(jì)需要多次實(shí)現(xiàn)所需的算法,而每次都要滿足開(kāi)發(fā)過(guò)程的不同要求。首先,將算法作為高級(jí)軟件實(shí)現(xiàn),以證明相關(guān)方法能夠解決期望的視覺(jué)或圖像處理問(wèn)題。接下來(lái),硬件架構(gòu)師將high level代碼轉(zhuǎn)換為精確指定的硬件塊,并做出優(yōu)化決策,例如選擇較低的整數(shù)精度。
通常,這涉及實(shí)現(xiàn)精確硬件架構(gòu)的軟件模擬,以供參考和測(cè)試。最后,將所需的硬件架構(gòu)再次實(shí)現(xiàn)為要合成的Verilog。所述手動(dòng)實(shí)現(xiàn)和優(yōu)化步驟中的每一個(gè)都是引入bug或錯(cuò)誤通信的機(jī)會(huì)。另外,算法開(kāi)發(fā)和硬件實(shí)現(xiàn)之間的長(zhǎng)周期意味著可以發(fā)現(xiàn)優(yōu)化機(jī)會(huì)。
鑒于改進(jìn)的機(jī)會(huì),硬件設(shè)計(jì)工具近年來(lái)已成為一個(gè)活躍的研究領(lǐng)域。研究人員已經(jīng)提出了Verilog、C-to-gates High-Lelve Synthesis(HLS)工具的替代方案。不過(guò),盡管所述工具有助于硬件設(shè)計(jì)過(guò)程中的各個(gè)階段,但它們都沒(méi)有幫助組織和優(yōu)化從算法開(kāi)發(fā)到最終硅的整個(gè)硬件流程。在所有這些工具中,硬件和軟件開(kāi)發(fā)團(tuán)隊(duì)之間的協(xié)調(diào),以及支持下游驗(yàn)證工作依然是一個(gè)有待解決的問(wèn)題。
在名為《HWTool: Fully Automatic Mapping of an Extensible C++ Image Processing Language to Hardware》的研究論文中,Meta和路易斯安那大學(xué)拉菲特分校介紹了一個(gè)可擴(kuò)展的編譯器和框架HWTool,以用于將圖像處理和計(jì)算機(jī)視覺(jué)代碼完全自動(dòng)映射到定制硬件。
HWTool框架和編譯器由多個(gè)Intermediate Representations(IRs)組成。HWTool的映射器在管道中的每個(gè)點(diǎn)查找每個(gè)HWImg操作符的本地最低成本硬件實(shí)現(xiàn)。對(duì)于HWTool的硬件后端,團(tuán)隊(duì)顯著改進(jìn)了Rigel以創(chuàng)建Rigel2。
作為說(shuō)明,Rigel是一個(gè)簡(jiǎn)單的硬件IR和硬件生成器的標(biāo)準(zhǔn)庫(kù)。硬件生成器通過(guò)一組固定的配置選項(xiàng)為每個(gè)操作符生成優(yōu)化的Verilog。例如,Rigel的圖像裁剪生成器將生成一個(gè)Verilog模塊,從選定的圖像大小裁剪選定數(shù)量的像素。Rigel2的IR允許編譯器分析管道中每個(gè)中間層的吞吐量和接口要求,這有助于HWTool的映射器為每個(gè)操作符選擇最佳的硬件實(shí)現(xiàn)。最后,研究人員展示了如何解決在RIGEL2中的FIFO緩沖器分配,從而實(shí)現(xiàn)了從C++到硬件的完全自動(dòng)化的流程。
研究人員強(qiáng)調(diào),這個(gè)項(xiàng)目的一個(gè)關(guān)鍵目標(biāo)是創(chuàng)建一個(gè)可供硬件設(shè)計(jì)團(tuán)隊(duì)實(shí)際使用的工具。HWTool并不是為了取代硬件設(shè)計(jì)師,而是提供一個(gè)旨在幫助團(tuán)隊(duì)更有效地工作的框架。團(tuán)隊(duì)相信系統(tǒng)必須滿足以下目標(biāo)才能成功:
效率:只有在需要極高效率的情況下,在固定功能硬件中實(shí)現(xiàn)算法才有意義。硬件設(shè)計(jì)工具如果無(wú)法達(dá)到手動(dòng)調(diào)整硬件的效率,則沒(méi)有用處。
靈活性和可擴(kuò)展性:Domain Specific Languages(DSL)可以公開(kāi)方便的編程模型并執(zhí)行令人印象深刻的優(yōu)化,但它們通常功能有限,難以擴(kuò)展。相反,團(tuán)隊(duì)必須提供一個(gè)靈活、可擴(kuò)展的框架,并能夠支持幾乎所有可用Verilog等通用語(yǔ)言表達(dá)的硬件,同時(shí)允許以后添加功能。
互操作性:緩存、攝像頭接口等常見(jiàn)硬件塊很難實(shí)現(xiàn)和驗(yàn)證,大多數(shù)團(tuán)隊(duì)將使用所述組件的現(xiàn)有設(shè)計(jì)。系統(tǒng)必須能夠利用現(xiàn)有設(shè)計(jì),并作為現(xiàn)有硬件工具生態(tài)系統(tǒng)的一部分。
可控性:low-level生成硬件設(shè)計(jì)有時(shí)必須手動(dòng)檢查,例如,搜索bug或解決物理設(shè)計(jì)問(wèn)題。編譯器執(zhí)行的映射很容易讓人理解、調(diào)試和控制,這一點(diǎn)非常重要。這促使研究人員為編譯器將執(zhí)行的操作創(chuàng)建一個(gè)簡(jiǎn)單且定義良好的模型。
HWImg是HWoToice的C++圖像處理語(yǔ)言前端。HWImg庫(kù)是在以下約束條件下設(shè)計(jì):
1.陣列或圖像只能由完全并行的陣列運(yùn)算符操作。不支持循環(huán),這大大簡(jiǎn)化了依賴關(guān)系分析和下游編譯任務(wù)。
2.HWImg設(shè)計(jì)成可擴(kuò)展,并且很少有內(nèi)置的操作符。幾乎所有操作都是通過(guò)泛型函數(shù)調(diào)用執(zhí)行的。開(kāi)發(fā)者可以輕松添加新功能。
3.HWImg函數(shù)是單態(tài)函數(shù):所有類型和數(shù)組大小都必須在編譯時(shí)設(shè)置并保持不變。然而,類似于C++模板元編程,前端syntax sugar有能力自動(dòng)填充所述參數(shù)。
接下來(lái),HWTool必須將HWImg代碼映射到Verilog中的硬件描述。為了實(shí)現(xiàn)這一點(diǎn),團(tuán)隊(duì)將HWImg管道轉(zhuǎn)換為Rigel2,這是一種可以編譯為Verilog的新型硬件描述語(yǔ)言。對(duì)于從HWImg到Rigel2的映射,Rigel2包含對(duì)前面顯示的Rigel語(yǔ)言的關(guān)鍵增強(qiáng),它支持從高級(jí)語(yǔ)言自動(dòng)映射。Rigel2的兩個(gè)特性對(duì)于實(shí)現(xiàn)團(tuán)隊(duì)設(shè)定的目標(biāo)至關(guān)重要。
首先,Rigel2可以在編譯時(shí)可靠地內(nèi)省每個(gè)信號(hào)的類型和運(yùn)行時(shí)吞吐量,這允許自動(dòng)專門化每個(gè)硬件實(shí)例,以便在需要它的站點(diǎn)中以最佳方式執(zhí)行。其次,與HLS不同,Rigel2中的每個(gè)模塊都直接映射到Verilog模塊定義。這意味著可以輕松地將現(xiàn)有的Verilog模塊導(dǎo)入到Rigel2管道中,從而實(shí)現(xiàn)與現(xiàn)有代碼的互操作性。圖3簡(jiǎn)要概述了Rigel2的類型和操作符。Rigel2與HWImg共享其核心數(shù)據(jù)類型和操作符,這使得編譯語(yǔ)言的大部分內(nèi)容變得微不足道。另外,Rigel2擴(kuò)展了HWImg,添加了特定于硬件的注釋。
最后,團(tuán)隊(duì)將HWImg中的high-level程序映射到Rigel2中的硬件管道。正如之前解釋指出,映射并不簡(jiǎn)單:它必須正確地調(diào)整硬件的大小,以滿足吞吐量要求,并適應(yīng)硬件約束。HWImg中操作符的可靠組合要求一致地解決所述問(wèn)題,否則配置、吞吐量和操作員的各種組合將無(wú)法映射。
盡管全局優(yōu)化約束和吞吐量將帶來(lái)最低的開(kāi)銷,但研究人員認(rèn)為這將很難解決。相反,HWTool采取了一種方法:每個(gè)HWImg操作符在本地映射到一個(gè)硬件塊,其中硬件塊在管道中的該點(diǎn)滿足或超過(guò)要求。
然后,研究人員只需要解決一個(gè)更簡(jiǎn)單的問(wèn)題:允許組合具有不同(但兼容)接口的模塊。圖6指定了一組允許的類型、速率和向量寬度替換。其關(guān)鍵思想是,可以將更高吞吐量或更簡(jiǎn)單的接口轉(zhuǎn)換為支持更低吞吐量或更復(fù)雜的接口。映射的第一步是遍歷整個(gè)管道,并確定是否需要最為簡(jiǎn)單的static接口或更為復(fù)雜的stream接口。
在此之后,編譯器再次遍歷HWImg管道,并為每個(gè)操作符運(yùn)行映射函數(shù),返回滿足或超過(guò)該站點(diǎn)吞吐量和速率要求的Rigel2模塊實(shí)例。最后,映射的Rigel2模塊之間的接口轉(zhuǎn)換為匹配。
為了測(cè)試HWTool設(shè)計(jì)的正確性、范圍和質(zhì)量,研究人員在HWImg中實(shí)現(xiàn)了許多全尺寸圖像處理管道,并使用HWTool將它們映射到硬件。然后,為Xilinx UltraScale+FPGA合成了硬件。
總的來(lái)說(shuō),所述研究的貢獻(xiàn)主要包括:
1.提出了一種適合于非硬件專家算法開(kāi)發(fā)者使用的higl level C++圖像處理語(yǔ)言HWMG,并設(shè)計(jì)成令硬件映射問(wèn)題易于處理。
2.提出了Rigel2。通過(guò)解決吞吐量和接口約束,這個(gè)硬件描述IR可以將HWImg映射到硬件。
3.演示了如何通過(guò)將每個(gè)操作符本地映射到最佳匹配的硬件模塊,并在接口處插入任何必要的轉(zhuǎn)換來(lái)將HWImg程序自動(dòng)映射到Rigel2。
4.展示了如何在不需要注釋的情況下將Rigel2映射到Verilog,方法是通過(guò)使用允許bursty模塊的調(diào)度模塊解決FIFO緩沖。
5.展示了所述貢獻(xiàn)如何使HWTool自動(dòng)將四個(gè)大規(guī)模圖像處理管道映射到FPGA:卷積、立體深度、Lucas-Kanade光流和一個(gè)簡(jiǎn)單的特征描述符。最終的FPGA設(shè)計(jì)所使用的FPGA面積僅比手動(dòng)優(yōu)化設(shè)計(jì)多11%,比全自動(dòng)FIFO分配多33%,與HLS的面積類似。
團(tuán)隊(duì)表示:“非常高興HWTool可以為將算法映射到硬件的過(guò)程帶來(lái)更多的結(jié)構(gòu)、一致性和易用性。HWTool和硬件設(shè)計(jì)社區(qū)普遍面臨的一個(gè)公開(kāi)問(wèn)題是缺乏高質(zhì)量的開(kāi)源硬件庫(kù)。我們對(duì)這一領(lǐng)域的最新進(jìn)展感到鼓舞,特別是在RISC-V方面。我們同時(shí)對(duì)我們的框架可能通過(guò)將困難的硬件映射問(wèn)題分解為更小的可組合單元來(lái)實(shí)現(xiàn)的新研究感到興奮。例如,我們的每個(gè)操作符、映射函數(shù)和Verilog模塊都非常簡(jiǎn)單,每個(gè)接口和調(diào)度變量都可以從單個(gè)行為描述中自動(dòng)合成并進(jìn)行正式驗(yàn)證,而這在整個(gè)管道中非常困難。”
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請(qǐng)謹(jǐn)慎對(duì)待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。
11月11日,據(jù)網(wǎng)經(jīng)社數(shù)字零售臺(tái)(DR.100EC.CN)數(shù)據(jù)顯示,秋冬服飾仍是雙11的C位,女士針織衫、女士外套、女士羽絨服等位居服飾消費(fèi)前列,女士夾克銷量同比增長(zhǎng)72%,女士棉衣、女士羊毛衫銷量同比增長(zhǎng)50%以上。男士外套銷量同比增長(zhǎng)30%以上。
奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。
“以前都要去窗口辦,一套流程下來(lái)都要半個(gè)月了,現(xiàn)在方便多了!”打開(kāi)“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進(jìn)了21600元。
華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準(zhǔn)的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來(lái)實(shí)質(zhì)性的幫助,雙十一期間低至2799元,性價(jià)比很高,簡(jiǎn)直是創(chuàng)作者們的首選。
9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會(huì)——工業(yè)互聯(lián)網(wǎng)標(biāo)識(shí)解析專題論壇在沈陽(yáng)成功舉辦。