0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何基于FPGA來構(gòu)造高性能的圖像處理解決方案

LiveVideoStack ? 來源:LiveVideoStack ? 2019-11-19 16:15 ? 次閱讀

FPGACPU相比進(jìn)一步強(qiáng)化了算力,尤其適合各類并行化計(jì)算;而與GPU相比,其更細(xì)粒度及靈活的并行化及流水線控制天然的對(duì)復(fù)雜算法有更強(qiáng)的適應(yīng)性,能夠充分發(fā)揮出算力優(yōu)勢(shì),從而帶來計(jì)算效率的提升。針對(duì)數(shù)據(jù)中心算力不斷增強(qiáng),算法不斷細(xì)分、復(fù)雜化的大背景下,F(xiàn)PGA具有更好的發(fā)展前景。

大家好,我是深維科技創(chuàng)始人/CEO 樊平,非常高興有這個(gè)機(jī)會(huì)跟大家分享和交流一下,如何基于FPGA來構(gòu)造高性能的圖像處理解決方案。

1.解決方案提出的背景

隨著需求的快速增長,目前數(shù)據(jù)中心需要處理的圖像越來越多,處理內(nèi)容包括圖像轉(zhuǎn)碼,像素級(jí)的操作、縮略圖處理以及各種圖像的智能分析,這些處理需求帶給數(shù)據(jù)中心的負(fù)擔(dān)日益加重。

2.FPGA圖像處理加速的潛力

2.1 深維科技在圖像方案上的性能數(shù)據(jù)

上圖是深維科技目前在圖像方案上已經(jīng)做到的性能數(shù)據(jù),第一是圖像的吞吐(每秒可以處理圖片的數(shù)量),目前CPU是根據(jù)E5的2650雙U服務(wù)器的性能去比較,加一張F(tuán)PGA優(yōu)良版的加速卡就可以做到20倍的吞吐。在業(yè)務(wù)流程里對(duì)延時(shí)相對(duì)都很敏感,深維可以在提升吞吐的同時(shí)降低延遲達(dá)5倍,數(shù)據(jù)中心的成本因?yàn)榉?wù)器成本和所有功耗成本的降低,使得整體的TCO的降低可以達(dá)到5倍以上,也就是降低到原來的20%以下。同時(shí)可以改善功耗,提高10倍能效比。這些性能都是通過深維科技一款名叫ThunderImage的產(chǎn)品為大家提供的。

2.2 ThunderImage介紹

除了剛才提到的性能,深維科技對(duì)豐富的圖片的格式進(jìn)行了支持,例如JPEG圖片編解碼的處理。隨著目前高清圖片內(nèi)容越來越多,大家需要對(duì)圖片的尺寸/壓縮率做進(jìn)一步提升,這其中比較流行的一種格式是Google從VP8編碼提取出來的一套標(biāo)準(zhǔn)WebP。深維科技目前很好支持了WebP的M4和M6兩種模式,另外深維科技也支持其他圖片格式和一些圖片的縮放算法,像Lanczos這類比較復(fù)雜的濾波算法都可以支持。

用戶在數(shù)據(jù)中心進(jìn)行方案集成過程中,傳統(tǒng)數(shù)據(jù)中心的設(shè)計(jì)環(huán)境是軟件,把FPGA導(dǎo)入到數(shù)據(jù)中心之后,對(duì)方案的可用性有非常高的要求。深維科技把整個(gè)方案做了很好的封裝,以ImageMagick和OpenCV標(biāo)準(zhǔn)開源框架為接口進(jìn)行替換,用戶只需要改動(dòng)幾行代碼之后就可以對(duì)接口完成替換。這樣的使用模式完全類似于軟件的形態(tài),并且可以做到無縫兼容,包括一些像VIPS這類型的新框架深維科技都在逐步支持。

在業(yè)務(wù)部署的過程當(dāng)中,深維科技從客戶得到很多關(guān)于細(xì)節(jié)的反饋,其中一個(gè)常見的問題是圖片在業(yè)務(wù)流程里部署時(shí),客戶發(fā)現(xiàn)硬件的編解碼往往和參考軟件的結(jié)果存在不一致的現(xiàn)象,這是由于硬件做加速過程當(dāng)中,為了適應(yīng)加速的效果會(huì)對(duì)算法進(jìn)行改動(dòng)。

現(xiàn)在這款ThunderImage方案可以做到硬件編解碼和參考軟件結(jié)果完全一致的,每個(gè)比特的結(jié)果和CPU的流程跑出來的結(jié)果都可以做到嚴(yán)格一致,對(duì)實(shí)際業(yè)務(wù)的評(píng)估部署阻力會(huì)降低很多。ThunderImage方案可以做到每個(gè)像素都一樣,因此滿足了實(shí)際業(yè)務(wù)的場景需求。

深維科技的整個(gè)產(chǎn)品都可以部署在兩種平臺(tái)上,一種是云平臺(tái),例如AWS和華為云,其他云平臺(tái)也會(huì)陸續(xù)發(fā)布出來。另一種是線下部署,深維科技在線下的本地部署支持了Linux的不同版本,可以比較方便匹配客戶不同的生產(chǎn)環(huán)境配置,服務(wù)器也可以支持英特爾AMD兩款CPU的型號(hào)。目前硬件平臺(tái)可以支持Alveo U200、Huawei FX300以及一些早期的型號(hào),根據(jù)客戶的場景可以比較快地適配到相應(yīng)的板卡。

3.常見的業(yè)務(wù)場景

涉及圖片部分的產(chǎn)品有幾個(gè)典型的應(yīng)用場景,第一是縮略圖的場景,整個(gè)流程包括圖片的上傳、JPEG解碼、縮放、JPEG編碼和推送客戶端,很好的適配了以下幾種典型場景:第一是手機(jī)的云相冊(cè),客戶上傳大量的圖片到云端,在不同的終端上瀏覽上傳的圖片,在瀏覽時(shí)不需要把原圖轉(zhuǎn)成各種尺寸的圖像推送到客戶端,只需要在線算出不同的尺寸推送到客戶端,在電商平臺(tái)和社交網(wǎng)絡(luò)上都大量涉及到這樣的應(yīng)用場景。

第二個(gè)場景是WebP轉(zhuǎn)碼,把JPEG格式轉(zhuǎn)成WebP格式,達(dá)到節(jié)省30%以上的帶寬或者存儲(chǔ)的目標(biāo)。另外深維也支持配合類似AI Inference的任務(wù),在AI Inference Engine上輸入圖像尺寸大部分都是小圖,小圖通常是CPU端去配合生成(預(yù)處理),在Inference之后還要有一些存檔和編碼的需求。目前方案很好地適配了預(yù)處理和后處理的場景,可以實(shí)現(xiàn)整個(gè)AI Inference的全流程加速。

4.生產(chǎn)環(huán)境集成

4.1 與OBS進(jìn)行集成

關(guān)于如何與生產(chǎn)環(huán)境集成,深維科技與OBS有一個(gè)比較完整的方案,首先上圖是一個(gè)典型的場景,需要有大量的JPEG圖像上傳到OBS,上傳完之后的OBS包含了大量用戶圖片。第二個(gè)階段是用戶會(huì)從安卓、蘋果、Windows等不同的終端去發(fā)起一個(gè)訪問,這個(gè)訪問會(huì)發(fā)向CDN,由于大部分情況下本地各種終端之間存在差異,訪問的命中率會(huì)比較低,CDN會(huì)檢查并返回給OBS進(jìn)一步請(qǐng)求圖片。請(qǐng)求之后OBS會(huì)調(diào)用ThunderImage以最高的性能反饋給OBS相應(yīng)尺寸的圖片,最后推送到客戶端,與OBS這種常見生長環(huán)境集成的模式還是比較清晰的。

4.2 核心性能指標(biāo)分析

如圖是性能指標(biāo)的分析,第一個(gè)是QPS(每秒可以處理圖片的張數(shù)),這個(gè)核心指標(biāo)是在1K圖片縮放到240×180的時(shí)候可以達(dá)到4900張的峰值,4900是目前深維科技在同類產(chǎn)品里所能看到的最好效果。另一個(gè)數(shù)字是吞吐(每秒按照能處理輸入圖像流量的大?。掏驴梢赃_(dá)到1.8GB,相應(yīng)此時(shí)CPU的流量是136MB,大概有15倍左右的加速。另外在延遲方面,在4K轉(zhuǎn)640×480圖片尺寸的時(shí)候,ThunderImage可以做到58毫秒,此時(shí)CPU延遲已經(jīng)達(dá)到1303毫秒,之間存在20倍左右的差距。在FPGA進(jìn)行加速時(shí),也就是將FPGA插到一個(gè)服務(wù)器里,服務(wù)器可以在性能有20倍的提升的同時(shí)做到CPU的利用率只有4%,純CPU版本是100%,因此整體加速效果是一致的,ThunderImage在各方面都有接近20倍的性能提升,有些方面性能提升還要更高一些。

4.3 通用計(jì)算方案

FPGA加速效果在圖片處理方案上是非常明顯的,在FPGA計(jì)算加速方向上已經(jīng)有各類方案,包括GPU、CPU、FPGA和ASIC。方案的比較在整體上有兩個(gè)重要的約束:效率(追求性能)和靈活性。FPGA相對(duì)于GPU的底層有更細(xì)粒度的并行化和流水線的控制,能夠做比特級(jí)、任意數(shù)據(jù)不對(duì)齊的操作,所有這些靈活性和底層更細(xì)粒度控制帶來了更好的計(jì)算效率,相對(duì)于整體就會(huì)帶來低延時(shí)、更高的能效和性能,所以深維非常看好FPGA將會(huì)成為下一代數(shù)據(jù)中心非常重要的通用的計(jì)算加速載體。

FPGA相對(duì)ASIC有一個(gè)很明顯的好處,ASIC在整個(gè)設(shè)計(jì)生產(chǎn)環(huán)節(jié)需要18個(gè)到24個(gè)月流片周期,而且對(duì)量也有一定的要求。FPGA有這些好處的同時(shí)也存在編程比較困難的致命問題,因此FPGA的設(shè)計(jì)開發(fā)有著很大的挑戰(zhàn),開發(fā)周期也會(huì)比較長。數(shù)據(jù)中心主要的用戶以軟件開發(fā)為主,軟件開發(fā)目前追求敏捷和快速迭代,這種長周期的開發(fā)形態(tài)非常制約業(yè)務(wù)部署。

4.4 軟、硬件開發(fā)方法區(qū)別

深維科技針對(duì)以上問題也提出了解決方案,如上圖所示,最左邊的是CPU的軟件開發(fā)流程:寫代碼、編譯,排除語法錯(cuò)誤、運(yùn)行,根據(jù)實(shí)際運(yùn)行時(shí)的錯(cuò)誤進(jìn)行調(diào)試。

FPGA+CPU的開發(fā)流程傳統(tǒng)是基于硬件設(shè)計(jì)語言去做的,Verilog/VHDL設(shè)計(jì)流程涉及到的環(huán)節(jié)也需要寫代碼,對(duì)等同樣復(fù)雜度算法要增加10倍以上的代碼量,因此整個(gè)設(shè)計(jì)流程非常復(fù)雜。對(duì)比兩個(gè)系統(tǒng)開發(fā)流程就不難理解為什么基于硬件設(shè)計(jì)語言的FPGA開發(fā)過程往往需要半年到一年的周期,而不是軟件開發(fā)的周期只要數(shù)周到幾個(gè)月的時(shí)間。

賽靈思也注意到了設(shè)計(jì)流程的復(fù)雜度,于是在2012年收購了AutoESL公司,這家公司提供HLS高層次的設(shè)計(jì)方法,這個(gè)方法很好的支持了C和C++語言來編程FPGA,這種方式放到最右邊的框圖對(duì)流程進(jìn)行相應(yīng)的簡化,首先是系統(tǒng)層設(shè)計(jì)OpenCL,Kemel設(shè)計(jì)是使用是C和C++語言來寫代碼,但需要加一些標(biāo)注。在軟件形式下去編譯仿真程序,排除語法錯(cuò)誤、運(yùn)行仿真程序,迭代多次后完成。在仿真環(huán)境上調(diào)好以后才需要上板生成FPGA程序,編譯成FPGA最后做一次,然后再上板去調(diào)。這個(gè)流程顯然已經(jīng)簡化很多,而且不需要頻繁在硬件層面去調(diào)試,大部分工作都是在軟件環(huán)節(jié)去做。

5. 深維科技的核心能力:快速開發(fā),全棧優(yōu)化

很多客戶都已經(jīng)試過了HLS這套開發(fā)方法,并對(duì)開發(fā)迅速這一特點(diǎn)有所體會(huì),但是對(duì)于最后能不能達(dá)到預(yù)期的性能提升還存在一些問題。因?yàn)橹虚g也經(jīng)過很多年的嘗試和成熟收斂,HLS已經(jīng)取得了比較好的效果,普遍的認(rèn)識(shí)是HLS與RTL相比,后者在細(xì)節(jié)優(yōu)化上要更好一些。深維科技目前做了一些嘗試,之前提到能夠做到20倍以上的性能加速,應(yīng)該是超過了一些RTL的產(chǎn)品性能。

深維科技在實(shí)現(xiàn)性能加速的過程中做了一些特殊的工作,關(guān)于OpenCL和HLS系統(tǒng)設(shè)計(jì)的范圍,首先在CPU有一個(gè)Opencl描述的調(diào)度,數(shù)據(jù)是通過主機(jī)的DDL和板上FPGA加速卡的DDL進(jìn)行交換。FPGA有一些相應(yīng)的kernel,kernel目前是用HLS和C++來描述的。這樣的任務(wù)有幾個(gè)需要解決的問題,第一個(gè)問題是如何做到快速開發(fā),如上文所述,使用C++和HLS就可以加快推出方案的速度。第二個(gè)問題是深維科技有面向行業(yè)的應(yīng)用開發(fā)平臺(tái),這樣可以簡化面向圖像處理應(yīng)用領(lǐng)域時(shí)有通用的開發(fā)平臺(tái),可以對(duì)很多類似的任務(wù)進(jìn)行共享,例如調(diào)度、適配、框架這些事情。另外還有組件庫,深維科技把Codec和各種處理算法已經(jīng)變成了一個(gè)標(biāo)準(zhǔn)的組件,可以在平臺(tái)上對(duì)其進(jìn)行非常方便的組合。

另外針對(duì)開發(fā)速度變快之后性能如何提升的問題,深維科技提出了全棧優(yōu)化的技術(shù)。全棧優(yōu)化是從算法層、架構(gòu)層到底層的優(yōu)化技術(shù),這也是由于HLS往往會(huì)遮蔽底層實(shí)現(xiàn)過程,當(dāng)性能達(dá)不到要求時(shí),深維科技把綜合布局、布線優(yōu)化方面,在底層展開進(jìn)行進(jìn)一步優(yōu)化,這主要依托于深維科技在EDA和FPGA芯片的設(shè)計(jì)經(jīng)驗(yàn),為了提升效率,深維科技也有相應(yīng)的EDA的工具。綜上,我們比較了一下整體研發(fā)的效果,在FPGA加速里有三類設(shè)計(jì)方法,第一類是CPU軟件設(shè)計(jì)方法,它的特點(diǎn)是流程復(fù)雜度低,但是產(chǎn)品性能也低,項(xiàng)目周期很短。第二類是FPGA+CPU用傳統(tǒng)RTL的設(shè)計(jì)方法,它的特點(diǎn)是流程復(fù)雜度非常高,性能比較高,但是項(xiàng)目周期非常長。第三類是深維科技目前在實(shí)踐的方法FPGA+CPU(HLS+DPComp),這其中涉及到深維科技自己的工具和方法,設(shè)計(jì)方法的流程復(fù)雜度中等且內(nèi)部可控。整個(gè)項(xiàng)目周期能夠達(dá)到與軟件開發(fā)類似的周期(15周到數(shù)月),并且可以達(dá)到非常高的產(chǎn)品性能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600735
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4640

    瀏覽量

    128487
  • 圖像處理
    +關(guān)注

    關(guān)注

    27

    文章

    1272

    瀏覽量

    56513

原文標(biāo)題:基于FPGA異構(gòu)計(jì)算快速構(gòu)建高性能圖像處理解決方案

文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA圖像處理領(lǐng)域的優(yōu)勢(shì)有哪些?

    FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列)在圖像處理領(lǐng)域具有顯著的優(yōu)勢(shì),這些優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面: 一、高并行處理能力
    發(fā)表于 10-09 14:36

    Molex莫仕發(fā)布革新熱管理解決方案,賦能高性能數(shù)據(jù)中心應(yīng)對(duì)未來挑戰(zhàn)

    2024年9月24日,全球電子行業(yè)的領(lǐng)軍者與連接技術(shù)創(chuàng)新先鋒Molex莫仕,正式推出了其專為應(yīng)對(duì)生成式AI、機(jī)器學(xué)習(xí)等高性能數(shù)據(jù)中心日益增長工作負(fù)載而設(shè)計(jì)的全新熱管理解決方案
    的頭像 發(fā)表于 09-25 15:41 ?503次閱讀

    LM98725高性能16位81 MSPS信號(hào)處理解決方案

    電子發(fā)燒友網(wǎng)站提供《LM98725高性能16位81 MSPS信號(hào)處理解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 07-26 10:51 ?0次下載
    LM98725<b class='flag-5'>高性能</b>16位81 MSPS信號(hào)<b class='flag-5'>處理解決方案</b>

    基于安路科技FPSoC器件DR1系列的視頻采集/顯示/處理解決方案

    單元, 內(nèi)部通過高帶寬總線互聯(lián),擁有高性能通用處理能力的同時(shí),兼具安路FPGA的靈活性和擴(kuò)展能力,定位復(fù)雜嵌入式系統(tǒng)、低功耗和高性能應(yīng)用市場。 針對(duì)視頻采集
    發(fā)表于 06-29 10:11 ?1097次閱讀
    基于安路科技FPSoC器件DR1系列的視頻采集/顯示/<b class='flag-5'>處理解決方案</b>

    采用創(chuàng)新的FPGA 器件實(shí)現(xiàn)更經(jīng)濟(jì)且更高能效的大模型推理解決方案

    本文根據(jù)完整的基準(zhǔn)測試,將Achronix Semiconductor公司推出的Speedster7t FPGA與GPU解決方案進(jìn)行比較,在運(yùn)行同一個(gè)Llama2 70B參數(shù)模型時(shí),該項(xiàng)基于FPGA
    的頭像 發(fā)表于 06-19 15:53 ?253次閱讀
    采用創(chuàng)新的<b class='flag-5'>FPGA</b> 器件<b class='flag-5'>來</b>實(shí)現(xiàn)更經(jīng)濟(jì)且更高能效的大模型推<b class='flag-5'>理解決方案</b>

    FPGA設(shè)計(jì)經(jīng)驗(yàn)之圖像處理

    中相機(jī)從看到物料圖像到給出執(zhí)行指令之間的延時(shí)大概只有幾毫秒,這就要求圖像處理必須很快且延時(shí)固定,只有FPGA進(jìn)行的實(shí)時(shí)流水線運(yùn)算才能滿足這一要求。 所以要了解
    發(fā)表于 06-12 16:26

    基于FPGA的實(shí)時(shí)邊緣檢測系統(tǒng)設(shè)計(jì),Sobel圖像邊緣檢測,FPGA圖像處理

    搭建圖像處理硬件平臺(tái)成為圖像處理的發(fā)展趨勢(shì)。FPGA在運(yùn)算性能方面的具有較大優(yōu)勢(shì),使用
    發(fā)表于 05-24 07:45

    開放式高實(shí)時(shí)高性能PLC控制器解決方案-基于米爾電子STM32MP135

    實(shí)時(shí)高性能需求尤其突出。面對(duì)以上挑戰(zhàn),合作伙伴翌控科技基于米爾STM32MP135開發(fā)板發(fā)布開放式高實(shí)時(shí)高性能PLC控制器解決方案,將高精準(zhǔn)數(shù)據(jù)采集、預(yù)處理、存儲(chǔ)、通信與高實(shí)時(shí)控制融為
    發(fā)表于 03-07 20:06

    NVMe Host Controller IP實(shí)現(xiàn)高性能存儲(chǔ)解決方案

    電子發(fā)燒友網(wǎng)站提供《NVMe Host Controller IP實(shí)現(xiàn)高性能存儲(chǔ)解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 02-21 14:28 ?0次下載

    FPGA圖像處理之CLAHE算法

    FPGA圖像處理--CLAHE算法(一)中介紹了為啥要用CLAHE算法圖像增強(qiáng)。
    的頭像 發(fā)表于 01-04 12:23 ?2267次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>圖像</b><b class='flag-5'>處理</b>之CLAHE算法

    如何通過DLP FPGA實(shí)現(xiàn)低延時(shí)高性能的深度學(xué)習(xí)處理器設(shè)計(jì)呢?

    圖像識(shí)別和分析對(duì)于產(chǎn)品創(chuàng)新至關(guān)重要,但需要高工作負(fù)載,對(duì)服務(wù)質(zhì)量要求嚴(yán)格。解決方案如GPU無法滿足低延遲和高性能要求。DLP FPGA是一種可行的選擇,本文將探討如何實(shí)現(xiàn)這種技術(shù)。
    的頭像 發(fā)表于 12-27 09:13 ?1216次閱讀
    如何通過DLP <b class='flag-5'>FPGA</b>實(shí)現(xiàn)低延時(shí)<b class='flag-5'>高性能</b>的深度學(xué)習(xí)<b class='flag-5'>處理</b>器設(shè)計(jì)呢?

    FPGA圖像處理方法

    圖像細(xì)節(jié)。 FPGA 圖像處理方法 1、圖像增強(qiáng) 兩大方法:空間域方法和時(shí)間域方法(以后再詳述) 2、
    的頭像 發(fā)表于 12-02 13:15 ?964次閱讀

    FPGA的電源管理解決方案

    電子發(fā)燒友網(wǎng)站提供《FPGA的電源管理解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 11-24 14:42 ?0次下載
    <b class='flag-5'>FPGA</b>的電源管<b class='flag-5'>理解決方案</b>

    紫光同創(chuàng)FPGA開發(fā)套件,高性能國產(chǎn)FPGA方案

    紫光同創(chuàng)FPGA開發(fā)套件,高性能國產(chǎn)FPGA方案,100%國產(chǎn)化,全系列產(chǎn)品,方案可定制,滿足多方面需求
    發(fā)表于 11-16 17:25

    基于CANoe的高性能測試系統(tǒng)解決方案

    。與此同時(shí),多總線通信的需求日益增長,通信數(shù)據(jù)量也逐步增多。這樣的趨勢(shì)導(dǎo)致測試系統(tǒng)對(duì)于測試工具性能的要求也隨之提高。為了滿足這些需求,除了配置高性能電腦外,CANoe也提供多種解決方案供用戶選擇,以應(yīng)對(duì)不同的應(yīng)用場景。
    的頭像 發(fā)表于 11-15 12:42 ?1528次閱讀
    基于CANoe的<b class='flag-5'>高性能</b>測試系統(tǒng)<b class='flag-5'>解決方案</b>