亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HLS的矩陣求逆算法設(shè)計(jì)優(yōu)化

        2021-03-07 07:18:00凌元韓文俊孫健
        電子技術(shù)與軟件工程 2021年22期
        關(guān)鍵詞:優(yōu)化設(shè)計(jì)

        凌元 韓文俊 孫健

        (南京電子技術(shù)研究所 江蘇省南京市 210039)

        1 引言

        近些年來,F(xiàn)PGA由于其計(jì)算高能效比、處理延遲低、硬件可重構(gòu)性,在人工智能、圖像處理、雷達(dá)信號處理、高性能計(jì)算等領(lǐng)域得到廣泛應(yīng)用。FPGA設(shè)計(jì)人員通常通過HDL(Hardware Description Language)編程語言實(shí)現(xiàn)RTL(Register Transfer Level)代碼,完成算法設(shè)計(jì)、實(shí)現(xiàn)、驗(yàn)證。算法復(fù)雜時,設(shè)計(jì)難度大、效率低下,且可移植性和升級維護(hù)性差[1~3]。

        在利用HLS進(jìn)行復(fù)雜算法設(shè)計(jì)和優(yōu)化時,針對循環(huán)的優(yōu)化是重點(diǎn)和難點(diǎn),文獻(xiàn)[4~5]研究了多重動態(tài)邊界循環(huán)的優(yōu)化,提出ElasticFlow的處理架構(gòu),動態(tài)分配和調(diào)度內(nèi)層循環(huán)的處理單元,實(shí)現(xiàn)高效處理,解決現(xiàn)有HLS對動態(tài)邊界循環(huán)優(yōu)化效率低下問題。文獻(xiàn)[6]研究了通用的動態(tài)循環(huán)邊界的并行化優(yōu)化方法,提升了邏輯資源利用率,實(shí)現(xiàn)了75倍的性能提升。

        本文基于Cholesky分解矩陣求逆算法研究了HLS復(fù)雜算法設(shè)計(jì)與優(yōu)化技術(shù)。首先描述了Cholesky分解矩陣求逆算法的計(jì)算流程,針對計(jì)算過程中矩陣元素計(jì)算順序、元素間的依賴關(guān)系進(jìn)行了分析,使用VivadoHLS設(shè)計(jì)、實(shí)現(xiàn)并仿真驗(yàn)證了Cholesky分解矩陣求逆結(jié)果。針對實(shí)現(xiàn)結(jié)果延遲時間長、性能差等問題進(jìn)行了優(yōu)化,重點(diǎn)針對運(yùn)算過程中的動態(tài)循環(huán)邊界、多層動態(tài)邊界循環(huán)的優(yōu)化進(jìn)行了研究與試驗(yàn),通過對運(yùn)算過程的分析與精確計(jì)算,將多層循環(huán)展開為兩層或單層循環(huán),應(yīng)用HLS的循環(huán)流水線優(yōu)化指令,取得了更好的延遲性能。

        2 Cholesky分解矩陣求逆算法

        Cholesky分解矩陣求逆算法是針對厄米特矩陣的簡化算法,其計(jì)算過程[7]可分為三步,如下所示:

        (1)Cholesky分解:將原始矩陣A分解為上三角矩陣LH和對角矩陣D。

        其中L為下三角矩陣,D為對角矩陣。

        在此步引入中間矩陣G。各元素計(jì)算公式如下:

        根據(jù)上述計(jì)算公式可以得出各元素的計(jì)算順序如圖1所示。

        圖1:Cholesky分解各元素計(jì)算順序

        在HLS中需要三層循環(huán)實(shí)現(xiàn),如下所示:

        (2)上三角矩陣求逆:對上三角矩陣LH求逆得到C,C也為一個上三角矩陣。

        各元素計(jì)算公式如下所示:

        各元素求解順序如圖2所示,沿對角線向右上角依次計(jì)算,如Cholesky分解一致,同樣需要三層循環(huán)實(shí)現(xiàn)。

        圖2:上三角矩陣求逆各元素計(jì)算順序

        3 HLS設(shè)計(jì)實(shí)現(xiàn)

        根據(jù)第2章節(jié)的分析,采用VivadoHLS設(shè)計(jì)了三個獨(dú)立的函數(shù)實(shí)現(xiàn)上面三步的計(jì)算,在頂層調(diào)用三個函數(shù)實(shí)現(xiàn)矩陣求逆,完成了C仿真和綜合,實(shí)現(xiàn)的資源結(jié)果如表1。

        表1:Cholesky分解矩陣求逆的HLS實(shí)現(xiàn)結(jié)果(Latency為48維矩陣求逆結(jié)果)

        4 矩陣求逆優(yōu)化

        4.1 優(yōu)化方法概述

        基于HLS設(shè)計(jì)在FPGA中運(yùn)行的算法更需要考慮FPGA的運(yùn)行特點(diǎn),使設(shè)計(jì)的架構(gòu)適合FPGA運(yùn)行,便于優(yōu)化。HLS設(shè)計(jì)的矩陣求逆算法,其優(yōu)化難點(diǎn)在于:

        (1)動態(tài)循環(huán)邊界:Cholesky分解求逆矩陣L中各元素運(yùn)算量不相等,執(zhí)行循環(huán)的次數(shù)不同。動態(tài)邊界循環(huán)無法實(shí)現(xiàn)pipeline、unroll,則必然導(dǎo)致循環(huán)執(zhí)行效率的降低。

        (2)多層循環(huán):從第3章節(jié)的分析可以看出,Cholesky分解、上三角矩陣求逆均需進(jìn)行三層循環(huán)。

        (3)數(shù)據(jù)依賴:Cholesky分解、上三角矩陣求逆等均存在行列之間的數(shù)據(jù)依賴,優(yōu)化難度較大。

        在4.2節(jié),將以Cholesky分解矩陣求逆的第三步矩陣相乘為實(shí)例研究HLS優(yōu)化方法及技巧。

        4.2 矩陣相乘優(yōu)化

        令:

        LH為上三角矩陣,D為對角矩陣,可知S必然是一個上三角矩陣。D為對角矩陣,D-1可以很容易地得到,其也為對角矩陣,對角上元素為矩陣D相應(yīng)對角元素的倒數(shù)。

        其實(shí)現(xiàn)代碼如下:

        VivadoHLS綜合后給出的延遲結(jié)果如圖3所示。

        圖3:矩陣相乘第一步優(yōu)化前性能

        圖3可以看出,內(nèi)層循環(huán)mult_lable02和外層循環(huán)mult_lable01均未pipeline,總延遲非常大。為減少延遲,首先對內(nèi)層循環(huán)進(jìn)行pipeline約束,VivadoHLS給出的綜合結(jié)果表明,延遲已降低為原來的8.3%,相當(dāng)于處理性能提升了12倍。

        從圖4中可以看出已經(jīng)實(shí)現(xiàn)pipeline,但分析計(jì)算過程,可以發(fā)現(xiàn)實(shí)際計(jì)算只需計(jì)算右上角元素,理論的最大(48維)延遲大小應(yīng)為:(1+2+……48)=1176,優(yōu)化后的延遲依然大于理論值。造成大于理論值得原因在于:由于循環(huán)的邊界是動態(tài)的,內(nèi)層循環(huán)mult_lable02每次依然需要執(zhí)行最大的次數(shù)48。因此,可以通過減少循環(huán)的層級從而減少循環(huán)次數(shù),將兩層循環(huán)代碼優(yōu)化成單層循環(huán)。

        圖4:矩陣相乘第一步pipeline優(yōu)化后性能

        VivadoHLS綜合后的結(jié)果如圖5所示。

        圖5:矩陣相乘第一步循環(huán)合并后優(yōu)化結(jié)果

        從圖5中可以看出,已經(jīng)實(shí)現(xiàn)完全流水,mult_lable01的延遲只比理論值多了10個時鐘周期,這10個時鐘周期的延遲是由于除法運(yùn)算的延遲造成的,不能再進(jìn)行優(yōu)化。

        4.2.2 S*L-1計(jì)算過程優(yōu)化

        根據(jù)4.2.1的優(yōu)化方法,進(jìn)行內(nèi)層循環(huán)的pipeline優(yōu)化后結(jié)果為未優(yōu)化前的9%,但仍比理論結(jié)果大5倍左右。

        S*L-1的計(jì)算過程為三層循環(huán),也可通過拆解將其展開為單層循環(huán)。

        將三層循環(huán)全部展開為一層循環(huán),優(yōu)化后VivadoHLS綜合結(jié)果如圖6。

        圖6:矩陣相乘第二步循環(huán)合并優(yōu)化后性能

        從圖6中可以看出,雖然設(shè)置pipeline=1,但實(shí)際實(shí)現(xiàn)結(jié)果并未實(shí)現(xiàn),II=2,其主要原因在于,程序中只計(jì)算了矩陣的上三角數(shù)據(jù),在對下三角數(shù)據(jù)賦值放在了循環(huán)中,導(dǎo)致矩陣A_inv端口被占用,不能實(shí)現(xiàn)pipeline,可以將其賦值移到循環(huán)外,重新進(jìn)行賦值。

        優(yōu)化后結(jié)果如圖7。

        圖7:矩陣相乘第二步循環(huán)進(jìn)一步優(yōu)化后性能

        延遲再次降低了一半,mult_lable11的II=1了,mult_lable21的延遲本身就很小,暫無需再對其進(jìn)行優(yōu)化。

        4.3 結(jié)果對比

        基于4.2.1和4.2.2兩節(jié)介紹的優(yōu)化方法,矩陣相乘最終的優(yōu)化結(jié)果如表2所示。

        表2:矩陣相乘優(yōu)化前后結(jié)果對比

        采用類似的pipeline優(yōu)化、多層循環(huán)的拆解對Cholesky分解、上三角矩陣求逆函數(shù)進(jìn)行了優(yōu)化,優(yōu)化前后延遲提升均達(dá)到100倍左右。優(yōu)化前后,資源及性能結(jié)果對比如表3所示。

        表3:矩陣求逆優(yōu)化前后結(jié)果對比(48維矩陣)

        從表3中可以看出,在資源增加不多情況下,優(yōu)化后的延遲相對于優(yōu)化前提升了118倍,在100MHz時鐘下,延遲由107ms(10737756*10ns)降到908us(90849*10ns)。

        5 結(jié)論

        研究了基于HLS的FPGA復(fù)雜算法設(shè)計(jì)及優(yōu)化方法,基于VivadoHLS設(shè)計(jì)實(shí)現(xiàn)了Cholesky分解矩陣求逆算法,提出根據(jù)各層循環(huán)數(shù)據(jù)依賴性關(guān)系及計(jì)算量的分析實(shí)現(xiàn)循環(huán)的合并展開的方法,從而實(shí)現(xiàn)流水線優(yōu)化指令高效應(yīng)用。實(shí)現(xiàn)結(jié)果表明,在資源增加不多的情況下,取得了118倍的延遲性能提升,后續(xù)可以根據(jù)需求進(jìn)行循環(huán)的展開(unroll)、數(shù)據(jù)流優(yōu)化,達(dá)到更加優(yōu)越的性能。本文針對多層循環(huán)優(yōu)化、動態(tài)邊界循環(huán)優(yōu)化的研究成果可適用于其他復(fù)雜算法的設(shè)計(jì)。

        猜你喜歡
        優(yōu)化設(shè)計(jì)
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        瞞天過海——仿生設(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        特级a欧美做爰片第一次| 成人免费毛片立即播放| 国产麻豆精品传媒av在线| 国产特级毛片aaaaaa视频| 日本大片免费观看完整视频 | 日韩熟女精品一区二区三区视频| 日韩国产一区二区三区在线观看| 91久久香蕉国产熟女线看| 久久久久99精品成人片| 51国产黑色丝袜高跟鞋| 在线免费观看国产精品| 精品蜜桃一区二区三区| 国产日韩精品中文字幕| 极品少妇一区二区三区四区| 欧美精品中文字幕亚洲专区| 538亚洲欧美国产日韩在线精品| 久久精品国产黄片一区| 精品综合一区二区三区| 精品国产精品国产偷麻豆| 欧美亚洲精品一区二区| 中文字幕在线观看乱码一区| 亚洲视频在线免费观看一区二区| 久久无码高潮喷水抽搐| 宅男66lu国产在线观看| 少妇人妻在线视频| 国产乱人伦真实精品视频| 自拍视频在线观看成人| 久久精品国产亚洲综合av| 亚洲av成人片色在线观看高潮 | 99亚洲精品久久久99| 黄片在线观看大全免费视频| 亚洲国产精品久久无人区| 亚洲人成网站色7799| 国产一卡2卡3卡四卡国色天香| 亚洲天堂资源网| 国产美女冒白浆视频免费| 人妻av中文字幕久久| 国模无码人体一区二区| 亚洲国产免费公开在线视频| 日韩一二三四区在线观看| 国产七十六+老熟妇|