欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

基于HLS之任務(wù)級(jí)并行編程

FPGA技術(shù)驛站 ? 來源:FPGA技術(shù)驛站 ? 2023-07-27 09:22 ? 次閱讀

HLS任務(wù)級(jí)編程第一篇文章可看這里:

HLS之任務(wù)級(jí)并行編程

HLS的任務(wù)級(jí)并行性(Task-level Parallelism)分為兩種:一種是控制驅(qū)動(dòng)型;一種是數(shù)據(jù)驅(qū)動(dòng)型。對(duì)于控制驅(qū)動(dòng)型,用戶要手工添加DATAFLOWpragma,工具會(huì)在該pragma指定的區(qū)域內(nèi)判別任務(wù)之間的并行性,生成各進(jìn)程之間的模塊級(jí)控制信號(hào)。對(duì)于數(shù)據(jù)驅(qū)動(dòng)型,用于需要明確指定可并行執(zhí)行的任務(wù)。

從描述手段來看,控制驅(qū)動(dòng)型本質(zhì)上是由工具判定各任務(wù)能否并行執(zhí)行。用戶在對(duì)各函數(shù)描述時(shí)只要遵守DATAFLOW的要求即可。例如:讀取輸入數(shù)據(jù)應(yīng)該位于DATAFLOW區(qū)域的起始位置,寫入輸出數(shù)據(jù)應(yīng)位于該區(qū)域的終止位置。DATALOW區(qū)域內(nèi)的所有變量遵循“一次讀一次寫”原則。除非使用hls::stream,否則不支持反饋支路。不支持在指定條件下才執(zhí)行函數(shù)。不支持for在指定條件下退出(使用break語句)。但控制驅(qū)動(dòng)型比較靈活,這是因?yàn)镈ATAFLOW的作用對(duì)象可以是for循環(huán)也可以是函數(shù)??刂?a target="_blank">驅(qū)動(dòng)器適合于順序執(zhí)行的C函數(shù)??刂乞?qū)動(dòng)型模型帶來的好處包括:當(dāng)前函數(shù)在結(jié)束執(zhí)行之前后續(xù)函數(shù)可以開始執(zhí)行;函數(shù)在結(jié)束執(zhí)行之前可以重新開始執(zhí)行;兩個(gè)或更多順序函數(shù)可以同時(shí)開始執(zhí)行。我們看一個(gè)例子。如下圖所示,頂層函數(shù)diamond調(diào)用了4各函數(shù)funcA~funcD。

557fca60-2c11-11ee-a368-dac502259ad0.png 在沒有添加DATAFLOW的情況下,工具能自動(dòng)探測(cè)出funcB和funcC的并行性,這可從Schedule視圖中看到,如下圖所示。

5592c2be-2c11-11ee-a368-dac502259ad0.png 添加DATAFLOW之后,對(duì)兩者性能進(jìn)行對(duì)比,如下圖所示(NO_TLP為沒有添加DATAFLOW的solution),從Latency角度看,兩者相當(dāng),但從interval角度看,DATAFLOW帶來的效果還是很明顯的。Interval從457降到了175。

55a328e8-2c11-11ee-a368-dac502259ad0.png 再看數(shù)據(jù)驅(qū)動(dòng)型。數(shù)據(jù)驅(qū)動(dòng)型要求任務(wù)之前以stream作為接口,允許反饋支路。用戶需要明確通過hls::task指定可并行執(zhí)行的任務(wù)。對(duì)于上述函數(shù),我們可以將其改造為數(shù)據(jù)驅(qū)動(dòng)型,如下圖所示。代碼第98行聲明了4個(gè)stream,第99行~第102行通過hls::task指定并行任務(wù)。

55b74472-2c11-11ee-a368-dac502259ad0.png 將三者放在一起對(duì)比,如下圖所示。可以看到數(shù)據(jù)驅(qū)動(dòng)型無論在性能還是資源上都獲得最佳表現(xiàn)。

55ccb1ae-2c11-11ee-a368-dac502259ad0.png

那么兩種類型能否混合使用呢?答案是肯定的,但是有限制的,這源于兩者的自身特征。可以在控制驅(qū)動(dòng)型中嵌入數(shù)據(jù)驅(qū)動(dòng)型,但反過來是不允許的。我們將上面的例子改造為控制驅(qū)動(dòng)型嵌入數(shù)據(jù)驅(qū)動(dòng)型的模式,如下圖所示。這里需要注意的是代碼第137行的DATAFLOWpragma,同時(shí)代碼第141行和第142行都設(shè)置了task,task接口為stream。此外也給出了Vitis HLS的Schedule視圖和Dataflow視圖。Dataflow視圖中也顯示了KPN。關(guān)于KPN可參閱這里。

https://en.wikipedia.org/wiki/Kahn_process_networks

55e44418-2c11-11ee-a368-dac502259ad0.png5605458c-2c11-11ee-a368-dac502259ad0.png5614649a-2c11-11ee-a368-dac502259ad0.png

責(zé)任編輯:彭菁

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

    關(guān)注

    88

    文章

    3638

    瀏覽量

    94012
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4346

    瀏覽量

    62993
  • HLS
    HLS
    +關(guān)注

    關(guān)注

    1

    文章

    130

    瀏覽量

    24211
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    淺析HLS任務(wù)級(jí)并行

    HLS任務(wù)級(jí)并行性(Task-level Parallelism)分為兩種:一種是控制驅(qū)動(dòng)型;一種是數(shù)據(jù)驅(qū)動(dòng)型。
    的頭像 發(fā)表于 07-27 09:21 ?1010次閱讀
    淺析<b class='flag-5'>HLS</b>的<b class='flag-5'>任務(wù)</b><b class='flag-5'>級(jí)</b><b class='flag-5'>并行</b>性

    UCOSIII任務(wù)優(yōu)先級(jí)對(duì)任務(wù)搶占的影響

    有兩個(gè)任務(wù):task1任務(wù)優(yōu)先級(jí) 3task2任務(wù)優(yōu)先級(jí) 4(當(dāng)設(shè)置task2的優(yōu)先級(jí)小于10時(shí)
    發(fā)表于 05-05 04:36

    【正點(diǎn)原子FPGA連載】第一章HLS簡(jiǎn)介-領(lǐng)航者ZYNQHLS 開發(fā)指南

    主要可以從“設(shè)計(jì)的重用”和“抽象層級(jí)的提升”這兩個(gè)方面來考慮。Xilinx推出的Vivado HLS工具可以直接使用C、C++或System C來對(duì)Xilinx系列的FPGA進(jìn)行編程,從而提高抽象的層級(jí)
    發(fā)表于 10-10 16:44

    阻止任務(wù)級(jí)別并行性的常見情況

    粗粒度并行優(yōu)化的任務(wù)級(jí)流水阻止任務(wù)級(jí)別并行性的常見情況
    發(fā)表于 03-09 06:58

    FPGA高層次綜合HLSVitis HLS知識(shí)庫簡(jiǎn)析

    1、HLS最全知識(shí)庫介紹高層次綜合(High-level Synthesis)簡(jiǎn)稱HLS,指的是將高層次語言描述的邏輯結(jié)構(gòu),自動(dòng)轉(zhuǎn)換成低抽象級(jí)語言描述的電路模型的過程。對(duì)于AMD Xilinx而言
    發(fā)表于 09-07 15:21

    HLS-1Hin人工智能訓(xùn)練系統(tǒng)

    Habana Labs System 1H(HLS-1H)為數(shù)據(jù)中心帶來了新水平的Al計(jì)算性能和電源效率,以及大規(guī)模的可擴(kuò)展性。 HLS-1Hin包含四個(gè)Gaudi HL-205 Mezzanine
    發(fā)表于 08-04 06:06

    FPGA并行編程:基于HLS技術(shù)優(yōu)化硬件設(shè)計(jì)

    作為集成電路設(shè)計(jì)領(lǐng)域現(xiàn)場(chǎng)可編程門陣列 (FPGA) 技術(shù)的創(chuàng)造者之一,賽靈思一直積極推廣高層次綜合 (HLS) 技術(shù),通過這種能夠解讀所需行為的自動(dòng)化設(shè)計(jì)流程打造出可實(shí)現(xiàn)此類行為的硬件。賽靈思剛剛推出了一本專著,清晰介紹了如何使用 HL
    發(fā)表于 11-10 11:01 ?2954次閱讀

    如何在不需要特殊庫或類的情況下實(shí)現(xiàn)C代碼并行性?

    提取實(shí)現(xiàn)任務(wù)級(jí) (task_level) 的硬件并行算法是設(shè)計(jì)高效的HLS IP內(nèi)核的關(guān)鍵。 在本文中,我們將重點(diǎn)放在如何能夠在不需要特殊的庫或類的情況下修改代碼風(fēng)格以實(shí)現(xiàn)C代碼實(shí)現(xiàn)
    的頭像 發(fā)表于 02-11 11:05 ?1462次閱讀
    如何在不需要特殊庫或類的情況下實(shí)現(xiàn)C代碼<b class='flag-5'>并行</b>性?

    Dataflow | 粗粒度并行優(yōu)化的任務(wù)級(jí)流水

    在本文中,我們將重點(diǎn)放在如何能夠在不需要特殊的庫或類的情況下修改代碼風(fēng)格以實(shí)現(xiàn)C代碼實(shí)現(xiàn)并行性。Xilinx HLS 編譯器的顯著特征是能夠?qū)?b class='flag-5'>任務(wù)級(jí)別的并行性和流水線與可尋址的存儲(chǔ)器
    發(fā)表于 03-02 06:19 ?12次下載
    Dataflow | 粗粒度<b class='flag-5'>并行</b>優(yōu)化的<b class='flag-5'>任務(wù)</b><b class='flag-5'>級(jí)</b>流水

    基于數(shù)據(jù)驅(qū)動(dòng)的任務(wù)并行多重網(wǎng)格應(yīng)用

    多重網(wǎng)格是數(shù)值計(jì)算領(lǐng)域中一種加速迭代收斂的重要技術(shù),被廣泛應(yīng)用。近年來,大規(guī)模并行計(jì)算系統(tǒng)向多核化、異構(gòu)眾核化發(fā)展,多重網(wǎng)格應(yīng)用也亟須適應(yīng)新的并行計(jì)算平臺(tái)。文中采用一種數(shù)據(jù)驅(qū)動(dòng)的任務(wù)并行
    發(fā)表于 05-13 10:41 ?8次下載

    hlsxfopencv

    vivado本身集成了opencv庫以及hls視頻庫了,opencv不能被綜合導(dǎo)出為RTL電路,hls視頻庫的功能有所欠缺,因此引入xfopencv作為既可以被綜合導(dǎo)出為RTL電路,也能夠?qū)崿F(xiàn)opencv豐富的功能。
    的頭像 發(fā)表于 09-09 15:07 ?1923次閱讀

    FPGA基礎(chǔ)HLS

    1、HLS簡(jiǎn)介 HLS(High-Level Synthesis)高層綜合,就是將 C/C++的功能用 RTL 來實(shí)現(xiàn),將 FPGA 的組件在一個(gè)軟件環(huán)境中來開發(fā),這個(gè)模塊的功能驗(yàn)證在軟件環(huán)境中來
    的頭像 發(fā)表于 12-02 12:30 ?5591次閱讀

    研討會(huì):如何利用最新Vitis HLS提高任務(wù)級(jí)并行性?

    當(dāng)前在 AI、無線、視頻/圖像處理、醫(yī)療和消費(fèi)領(lǐng)域使用的算法,復(fù)雜性已顯著提升。 Vitis? 高層次綜合 (HLS) 可通過在選定的 AMD 器件上將 C/C++ 代碼綜合為可編程邏輯的 RTL
    的頭像 發(fā)表于 07-05 08:15 ?742次閱讀
    研討會(huì):如何利用最新Vitis <b class='flag-5'>HLS</b>提高<b class='flag-5'>任務(wù)</b><b class='flag-5'>級(jí)</b><b class='flag-5'>并行</b>性?

    Vitis HLS相關(guān)問答詳解

    需要手工在 C++ 代碼里明確指定可并行執(zhí)行的任務(wù)(用 task,添加頭文件 hls_task.h),同時(shí)可并行執(zhí)行的 task 接口(對(duì)應(yīng) C++ 函數(shù)的形參)必須是 stream
    的頭像 發(fā)表于 08-11 11:23 ?802次閱讀

    Vitis HLS:使用任務(wù)級(jí)并行性的高性能設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《Vitis HLS:使用任務(wù)級(jí)并行性的高性能設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-13 17:21 ?0次下載
    Vitis <b class='flag-5'>HLS</b>:使用<b class='flag-5'>任務(wù)</b><b class='flag-5'>級(jí)</b><b class='flag-5'>并行</b>性的高性能設(shè)計(jì)