一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

采用硬件加速實(shí)現(xiàn)的基本思維有哪些

FPGA自習(xí)室 ? 來(lái)源:FPGA自習(xí)室 ? 作者:FPGA自習(xí)室 ? 2021-06-30 15:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

很多圖像算法不涉及對(duì)顏色的識(shí)別,僅需要識(shí)別灰度目標(biāo)的變化即可,因此很多時(shí)候需要將彩色圖像轉(zhuǎn)換為灰度圖像,在進(jìn)行進(jìn)一步的處理。彩色轉(zhuǎn)灰度計(jì)算公式如下:Y=0.299*R + 0.587*G + 0.144*B,作者以05年的嵌入式系統(tǒng)計(jì)算,采用640*480的圖像進(jìn)行試驗(yàn),一系列的圖像優(yōu)化如下(只是類(lèi)比,不要太在意數(shù)據(jù)):

1)一維數(shù)組索引比三維快,因此先將RGB三維數(shù)組轉(zhuǎn)成一維數(shù)組,再直接用上述公式進(jìn)行計(jì)算,嵌入式系統(tǒng)計(jì)算時(shí)間為120秒;

2)由于Windows位圖是ARGB8888的精度,因此計(jì)算結(jié)果僅需要8bit整形,可忽略小數(shù),假定左右擴(kuò)大1000倍去轉(zhuǎn)定點(diǎn)計(jì)算,則新的公式如下:Y=(299R + 587*G + 144*B)/1000,此時(shí)嵌入式系統(tǒng)計(jì)算時(shí)間加快到45秒;

3)除法計(jì)算太慢,擴(kuò)大2N次方可轉(zhuǎn)移位操作,假定擴(kuò)大4096倍轉(zhuǎn)定點(diǎn),則新的公式如下:Y=(R*1224+G*2404+B*467)>>12,計(jì)算進(jìn)一步加快到30秒;

4)由于RGB的取值是固定的[0,255],因此公式中每一步運(yùn)算其實(shí)都可以提前計(jì)算好,然后直接索引——查找表,這樣將執(zhí)行計(jì)算轉(zhuǎn)換成了執(zhí)行索引,此時(shí)再測(cè)試計(jì)算速度驚人的提升到了2秒;

5)接著作者再馬力全開(kāi),采用2個(gè)ALU并行計(jì)算,并且將查找表從int型改成unsigned short型,以及函數(shù)聲明為inline,減少CPU的調(diào)用開(kāi)銷(xiāo),最后在嵌入式系統(tǒng)上將計(jì)算速度提升到了0.5秒。

以上為conquer 05年《讓你的軟件飛起來(lái)》中的相關(guān)數(shù)據(jù),通過(guò)軟件優(yōu)化的提升,從最初的120S提升到了0.5S,將近240倍,足以見(jiàn)得一個(gè)優(yōu)秀的軟件工程師的重要性,也許IOS和Windows的性能差距那么大,也由此方面原因吧。

8dcbbfca-d8d3-11eb-9e57-12bb97331649.png

目前多媒體視頻普遍到了2K/4K的分辨率,以4K視頻為例,其運(yùn)算量是640*480的30.7倍((4096*2304)/(640*480)≈30.7),那么0.5*30.7=15.35秒怎么做到實(shí)時(shí)視頻處理/顯示呢(60FPS下單幀16.667ms),差92000倍呢。PC采用GPU加速處理完成圖形運(yùn)算,但如果是終端產(chǎn)品,如果沒(méi)有昂貴的CPU,也沒(méi)有其他加速引擎,那簡(jiǎn)直天方夜譚。那么,此時(shí)主角該上場(chǎng)了——硬件加速器,讓我們開(kāi)始他的表演。
以4096*2304的4K60視頻RGB轉(zhuǎn)YUV為例,進(jìn)行硬件思維的加速計(jì)算解說(shuō)。不管是FPGA還是ASIC,以門(mén)級(jí)電路并行加速運(yùn)算,時(shí)序邏輯每個(gè)時(shí)鐘翻轉(zhuǎn)完成一次計(jì)算。前面《讓你的軟件飛起來(lái)》中(2)已經(jīng)完成了定點(diǎn)化,然后(3)采用乘法+移位的方式實(shí)現(xiàn),(4)采用查找表再累加的方式實(shí)現(xiàn)。單從效率上考慮,兩者計(jì)算一個(gè)像素的灰度均耗用3個(gè)CLK(乘法、累加、移位,或給RAM地址、讀RAM數(shù)據(jù),累加);但從資源上對(duì)比,前者占用3個(gè)乘法器和2個(gè)加法器,乘法器數(shù)量不多,但是綜合速率受器件的限制,后者則需要3個(gè)19bit*256深度的RAM,占用了更多的面積,綜合速率上也受到RAM的限制。兩者都用了專(zhuān)用單元庫(kù),但采用硬件乘法器面積更小,且靈活性更強(qiáng),工作量也更?。ú挥脤?zhuān)門(mén)去生成),因此用硬件加速首選采用優(yōu)化方式(3),具體實(shí)現(xiàn)流水線如下:

STEP1:采用三個(gè)乘法器,并行計(jì)算當(dāng)前輸入像素的RGB通道乘法,即R*1224,G*2404, B*467;

STEP2:將上述三個(gè)結(jié)果直接進(jìn)行累加;同時(shí)計(jì)算下一個(gè)像素的STEP1操作;

STEP3:將累加后的結(jié)果向右移動(dòng)12bit,取低8bit得到最后的結(jié)果;同時(shí)計(jì)算下一個(gè)像素的STEP1,STEP2。

8e206b9c-d8d3-11eb-9e57-12bb97331649.png

以流水線式循環(huán)操作完一副完整的圖像,如果是輸入到下一級(jí)算法處理,則整體的延時(shí)僅為3個(gè)CLK,因?yàn)槿齻€(gè)時(shí)鐘后得到灰度圖像的1個(gè)像素,立馬可以進(jìn)行下一級(jí)運(yùn)算;如果圖像寫(xiě)回緩存,我們?cè)賮?lái)精算一下:以主頻250MHz為例(事實(shí)上28nm ASIC跑500MHz甚至1GHz都不是問(wèn)題,F(xiàn)PGA 45nm的250MHz也沒(méi)有問(wèn)題),則需要(4096*2304+2)*4ns=37.75ms>16.667ms。

8e46f8e8-d8d3-11eb-9e57-12bb97331649.png

直接流水線實(shí)現(xiàn),貌似這還不夠滿足我們實(shí)時(shí)的需求,畢竟很多運(yùn)算需要從內(nèi)存中來(lái),回到內(nèi)存中去,還得給別的算法預(yù)留時(shí)間,彩色轉(zhuǎn)灰度這只是算法的第一步而已,復(fù)雜的還沒(méi)來(lái)呢。那我們繼續(xù)想辦法突變限制,充分利用硬件加速,挑戰(zhàn)不可能。既然采用門(mén)級(jí)電路,那不存在線程的約束,然而我們已經(jīng)采用了流水線并行計(jì)算灰度值,那進(jìn)一步想是否可以同時(shí)計(jì)算n個(gè)像素的灰度值呢?答案是肯定的,如下圖所示:

8e840436-d8d3-11eb-9e57-12bb97331649.png

假設(shè)DDR控制器位寬是256bit,則一次性可以讀取32個(gè)pixel的數(shù)據(jù),32個(gè)像素同時(shí)計(jì)算需要96個(gè)乘法器,64個(gè)加法器,這些資源的需求甚至對(duì)低端的FPGA都不是問(wèn)題,對(duì)于ASIC來(lái)說(shuō)沒(méi)有太大的面積影響。因此還是在主頻250MHz,DDR控制器帶寬256bit條件下,我們處理一副4096*2304彩轉(zhuǎn)灰圖像的時(shí)間為:37.35/32≈1.17ms<16.667ms,采用并行運(yùn)算提升32倍效率后,4K圖像僅需要1.17ms,完全能夠滿足實(shí)時(shí)性,甚至還給后續(xù)算法預(yù)留了90%以上的時(shí)間,可以滿足系統(tǒng)的需求。

綜上,采用硬件加速實(shí)現(xiàn)的幾種基本思維,總結(jié)如下:

1)浮點(diǎn)轉(zhuǎn)定點(diǎn),硬件乘法+移位實(shí)現(xiàn)加速;

2)資源夠的前提下,充分利用并行計(jì)算,在單位時(shí)間提升計(jì)算量;

3)充分利用流水線特性,算法采用Pipeline的方式進(jìn)行計(jì)算,能不回內(nèi)存就不回內(nèi)存,能用localbuffer就用localbuffer;

4)盡量少用CPU參與計(jì)算,硬件自動(dòng)完成狀態(tài)跳轉(zhuǎn),除非最終結(jié)果浮點(diǎn)等復(fù)雜的運(yùn)算;

文章出處:【微信公眾號(hào):FPGA自習(xí)室】

責(zé)任編輯:gt

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

    關(guān)注

    1645

    文章

    22040

    瀏覽量

    618223
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17098

    瀏覽量

    184201
  • 分辨率
    +關(guān)注

    關(guān)注

    2

    文章

    1080

    瀏覽量

    42643

原文標(biāo)題:圖像處理硬件加速引擎——不斷突破限制(下)

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    本設(shè)計(jì)中,計(jì)劃實(shí)現(xiàn)對(duì)文件的壓縮及解壓,同時(shí)優(yōu)化壓縮中所涉及的信號(hào)處理和計(jì)算密集型功能,實(shí)現(xiàn)對(duì)其的加速處理。本設(shè)計(jì)的最終目標(biāo)是證明在充分并行化的硬件體系結(jié)構(gòu) FPGA 上
    的頭像 發(fā)表于 07-10 11:09 ?631次閱讀
    基于FPGA的壓縮算法<b class='flag-5'>加速</b><b class='flag-5'>實(shí)現(xiàn)</b>

    國(guó)際首創(chuàng)新突破!中國(guó)團(tuán)隊(duì)以存算一體排序架構(gòu)攻克智能硬件加速難題

    2025 年 6 月 25 日,北京大學(xué)團(tuán)隊(duì)在智能計(jì)算硬件方面取得領(lǐng)先突破,國(guó)際上首次實(shí)現(xiàn)了基于存算一體技術(shù)的高效排序硬件架構(gòu) (A fast and reconfigurable
    的頭像 發(fā)表于 07-02 16:50 ?197次閱讀
    國(guó)際首創(chuàng)新突破!中國(guó)團(tuán)隊(duì)以存算一體排序架構(gòu)攻克智能<b class='flag-5'>硬件加速</b>難題

    2D圖形渲染緩慢怎么加快?

    到 glReadPixels (慢!):沒(méi)有可用的 GL 實(shí)現(xiàn)” 搜索表明這可能是因?yàn)槲磫⒂?b class='flag-5'>硬件加速。 有誰(shuí)知道如何檢查是否啟用了硬件加速?或者,如果我可能缺少一些應(yīng)該包含的 Yocto 軟件包? 謝謝。
    發(fā)表于 04-02 06:46

    開(kāi)關(guān)電源芯片CY3783A的工作原理

    芯片的快速啟動(dòng),是通過(guò)硬件加速、電路優(yōu)化和軟件協(xié)同設(shè)計(jì)實(shí)現(xiàn)的,可以縮短系統(tǒng)上電至穩(wěn)定運(yùn)行的時(shí)間。
    的頭像 發(fā)表于 03-07 17:14 ?518次閱讀

    數(shù)據(jù)中心中的FPGA硬件加速

    ? 再來(lái)看一篇FPGA的綜述,我們都知道微軟包括國(guó)內(nèi)的云廠商其實(shí)都在數(shù)據(jù)中心的服務(wù)器中部署了FPGA,所以這篇論文就以數(shù)據(jù)中心的視角,來(lái)看下FPGA這個(gè)硬件加速器。 還是一樣,想要論文原文的可以私信
    的頭像 發(fā)表于 01-14 10:29 ?653次閱讀
    數(shù)據(jù)中心中的FPGA<b class='flag-5'>硬件加速</b>器

    《CST Studio Suite 2024 GPU加速計(jì)算指南》

    許可證模型的加速令牌或SIMULIA統(tǒng)一許可證模型的SimUnit令牌或積分授權(quán)。 4. GPU計(jì)算的啟用 - 交互式模擬:通過(guò)加速對(duì)話框啟用,打開(kāi)求解器對(duì)話框,點(diǎn)擊“加速”按鈕,打開(kāi)“硬件
    發(fā)表于 12-16 14:25

    支持5點(diǎn)手寫(xiě)硬件加速視頻演示-VS680與智慧教室解決方案

    硬件
    深蕾半導(dǎo)體
    發(fā)布于 :2024年12月03日 16:01:19

    基于Xilinx XCKU115的半高PCIe x8 硬件加速

    基于Xilinx XCKU115的半高PCIe x8 硬件加速卡,支持2x72bit(數(shù)據(jù)位寬64bit+ECC)DDR4存儲(chǔ),數(shù)據(jù)傳輸速率 2400Mb/s。DDR4單簇容量4GB,兩組總?cè)萘繛?GB
    的頭像 發(fā)表于 11-14 11:30 ?788次閱讀
    基于Xilinx XCKU115的半高PCIe x8 <b class='flag-5'>硬件加速</b>卡

    FPGA加速深度學(xué)習(xí)模型的案例

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)加速深度學(xué)習(xí)模型是當(dāng)前硬件加速領(lǐng)域的一個(gè)熱門(mén)研究方向。以下是一些FPGA加速深度學(xué)習(xí)模型的案例: 一、基于FPGA的AlexNet卷積運(yùn)算加速 項(xiàng)目名稱(chēng)
    的頭像 發(fā)表于 10-25 09:22 ?1220次閱讀

    RISC-V跑AI算法能加速嗎?

    現(xiàn)在好多ARM單片機(jī)都帶機(jī)器學(xué)習(xí)加速,RISC-V有這方面的硬件加速嗎?
    發(fā)表于 10-10 22:14

    TDA4VM上的硬件加速運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)算法

    電子發(fā)燒友網(wǎng)站提供《TDA4VM上的硬件加速運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)算法.pdf》資料免費(fèi)下載
    發(fā)表于 09-24 11:39 ?0次下載
    TDA4VM上的<b class='flag-5'>硬件加速</b>運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)算法

    AM62A SoC通過(guò)硬件加速視覺(jué)處理改進(jìn)條形碼讀取器

    電子發(fā)燒友網(wǎng)站提供《AM62A SoC通過(guò)硬件加速視覺(jué)處理改進(jìn)條形碼讀取器.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 09:52 ?0次下載
    AM62A SoC通過(guò)<b class='flag-5'>硬件加速</b>視覺(jué)處理改進(jìn)條形碼讀取器

    適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換器解決方案

    電子發(fā)燒友網(wǎng)站提供《適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換器解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 08-26 09:38 ?0次下載
    適用于數(shù)據(jù)中心應(yīng)用中的<b class='flag-5'>硬件加速</b>器的直流/直流轉(zhuǎn)換器解決方案

    圖形圖像硬件加速器卡設(shè)計(jì)原理圖:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡

    擴(kuò)展。軟件支持windows,Linux操作系統(tǒng)。Net FPGA , XC7VX690T板卡 , 軟件無(wú)線電處理平臺(tái) , 圖形圖像硬件加速
    的頭像 發(fā)表于 08-06 10:16 ?956次閱讀
    圖形圖像<b class='flag-5'>硬件加速</b>器卡設(shè)計(jì)原理圖:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡

    FPGA與MCU的應(yīng)用場(chǎng)景

    使用FPGA可以提供定制化的硬件加速方案。通過(guò)將算法映射到FPGA的硬件邏輯上,可以實(shí)現(xiàn)遠(yuǎn)超軟件實(shí)現(xiàn)的性能提升。
    發(fā)表于 07-29 15:45