chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HLS優(yōu)化設計的最關鍵指令

YCqV_FPGA_EETre ? 來源:FPGA開發(fā)圈 ? 作者:FPGA開發(fā)圈 ? 2021-01-14 09:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

HLS 優(yōu)化設計的最關鍵指令有兩個:一個是流水線 (pipeline)指令,一個是數(shù)據(jù)流(dataflow)指令。正確地使用好這兩個指令能夠增強算法地并行性,提升吞吐量,降低延遲但是需要遵循一定的代碼風格。展開 (unroll) 指令是只針對 for 循環(huán)的展開指令,和流水線指令關系密切,所以我們放在一起首先我們來看一下這三個指令在 Xilinx 官方指南中的定義:

Unroll:Unroll for-loops to create multiple instances of the loopbody and its instructions that can then be scheduled independently.

Pipeline:Reduces the initiation interval by allowing theoverlapped execution of operations within a loop or function.

Dataflow:Enables task level pipelining, allowing functions andloops to execute concurrently. Used to optimize through output and/or latency.

Unroll 指令在 for 循環(huán)的代碼區(qū)域進行優(yōu)化,這個指令不包含流水線執(zhí)行的概念,單純地將循環(huán)體展開使用更多地硬件資源實現(xiàn),保證并行循環(huán)體在調度地過程中是彼此獨立的。

Pipeline 指令在循環(huán)和函數(shù)兩個層級都可以使用,通過增加重復的操作指令(如增加資源使用量等等)來減小初始化間隔。

Dataflow 指令是一個任務級別的流水線指令,從更高的任務層次使得循環(huán)或函數(shù)可以并行執(zhí)行,目的在于減小延遲增加吞吐量。

Unroll 和 Pipeline 指令相互重合的關系在于,當對函數(shù)進行流水線處理時,以下層次結構中的所有循環(huán)都會自動展開,而使用展開指令的循環(huán)并沒有給定對II的約束。在最新版本的 Vitis HLS 工具中,工具會自動分析數(shù)據(jù)之間的流水線操作關系,以II=1為目標優(yōu)化,但是還是會受限于設計本身的算法和代碼風格。下圖非常清晰地闡明了Unroll 和 Pipeline 指令的關系,Pipeline 指令放置的循環(huán)層次越高,循環(huán)展開的層次也越高,最終會導致使用更大面積的資源去實現(xiàn),同時并行性也更高。

7728e698-51a7-11eb-8b86-12bb97331649.png

這里如果循環(huán)的邊界是變量的話,則無法展開。這將組織函數(shù)被流水線化,可以通過添加tripcount 等指令,指定循環(huán)在綜合時大概的最大最小邊界。

在循環(huán)流水線優(yōu)化的過程中,有一個完美循環(huán),半完美循環(huán)和非完美循環(huán)的代碼風格概念,只有當流水線循環(huán)完美或半完美時,才可以將嵌套循環(huán)徹底并行展開。

完美循環(huán):只有最里面的循環(huán)才具有主體內容,在循環(huán)語句之間沒有指定邏輯,循環(huán)界限是恒定的。

半完美循環(huán):只有最里面的循環(huán)才具有主體 (內容), 在循環(huán)語句之間沒有指定邏輯,只有最外面的循環(huán)邊界可以是可變的。

非完美循環(huán):循環(huán)的主體內容分布在循環(huán)的各個層次或內層循環(huán)的邊界是變量。

779a5dc8-51a7-11eb-8b86-12bb97331649.png

當我們要爭去最大流水線循環(huán)的成功執(zhí)行,就需要將非完美循環(huán)手動修改成完美或半完美循環(huán)。以下代碼例子給出了完美循環(huán)(左邊)和非完美循環(huán)(右邊)在Vitis HLS 中的執(zhí)行結果。

Perfect_loop

#include "loop_perfect.h"

void loop_perfect (din_t A[N], dout_t B[N]) {

int i,j;

dint_t acc;

LOOP_I:for (i=0; i < 20; i++) {?

LOOP_J: for (j=0; j < 20; j++) {?

if(j==0) acc = 0;

acc += A[j] * j;

if(j==19) {

if (i%2 == 0)

B[i] = acc / 20;

else

B[i] = 0;

}

}

}

}

void loop_imperfect (din_t A[N], dout_t B[N]) {

int i,j;

dint_t acc;

LOOP_I:for(i=0; i < 20; i++){?

acc = 0;

LOOP_J: for (j=0; j < 20; j++) {?

acc += A[j] * j;

}

if (i%2 == 0)

B[i] = acc / 20;

else

B[i] = 0;

}

}

77d756e2-51a7-11eb-8b86-12bb97331649.png

78f8c790-51a7-11eb-8b86-12bb97331649.png

792ca6d2-51a7-11eb-8b86-12bb97331649.png

7962a03e-51a7-11eb-8b86-12bb97331649.png

綜合完畢后,我們可以在分析窗口和綜合報告中都很清晰的看出,完美循環(huán)在執(zhí)行的時候,工具自動將內層循環(huán)LOOP_J和外層循環(huán)LOOP_I合并為一整個大循環(huán),并實現(xiàn)了整個大循環(huán)的流水線操作,延遲的周期數(shù)為: (400-1) *1+8-1 =406個周期數(shù),延遲大約為 408*2.5 = 1,020 ns

非完美循環(huán)中,內層和外層循環(huán)沒有合并,只有內層循環(huán)LOOP_J 實現(xiàn)了流水線執(zhí)行,進出內循環(huán)的浪費的時鐘周期增加了整個循環(huán)的時鐘周期,同時還有一些命令行沒有辦法跨越循環(huán)的層級實現(xiàn)調度上的優(yōu)化,這些因素都導致了設計的延遲的增加。

責任編輯:lq

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

    關注

    23

    文章

    4740

    瀏覽量

    96739
  • 函數(shù)
    +關注

    關注

    3

    文章

    4400

    瀏覽量

    66389
  • 數(shù)據(jù)流

    關注

    0

    文章

    128

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    便攜式礦物地物光譜儀選購指南:關鍵指標與實用技巧揭秘

    選擇和技術參數(shù)的考量。因此,了解這些儀器的關鍵指標和實用技巧,能幫助您做出更明智的決策,滿足各類礦物分析需求。 定義與工作原理 便攜式礦物地物光譜儀是一種便于現(xiàn)場使用的設備,主要利用地物光譜技術進行礦物成分分析
    的頭像 發(fā)表于 08-19 11:31 ?442次閱讀
    便攜式礦物地物光譜儀選購指南:<b class='flag-5'>關鍵指</b>標與實用技巧揭秘

    利用Arm i8mm指令優(yōu)化llama.cpp

    本文將為你介紹如何利用 Arm i8mm 指令,具體來說,是通過帶符號 8 位整數(shù)矩陣乘加指令 smmla,來優(yōu)化 llama.cpp 中 Q6_K 和 Q4_K 量化模型推理。
    的頭像 發(fā)表于 07-24 09:51 ?1343次閱讀
    利用Arm i8mm<b class='flag-5'>指令</b><b class='flag-5'>優(yōu)化</b>llama.cpp

    如何在Unified IDE中創(chuàng)建視覺庫HLS組件

    最近我們分享了開發(fā)者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 傳統(tǒng) IDE)和開發(fā)者分享|AMD Vitis HLS 系列 2:AMD
    的頭像 發(fā)表于 07-02 10:55 ?941次閱讀
    如何在Unified IDE中創(chuàng)建視覺庫<b class='flag-5'>HLS</b>組件

    使用AMD Vitis Unified IDE創(chuàng)建HLS組件

    這篇文章在開發(fā)者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 傳統(tǒng) IDE) 的基礎上撰寫,但使用的是 AMD Vitis Unified IDE,而不是之前傳統(tǒng)版本的 Vitis HLS。
    的頭像 發(fā)表于 06-20 10:06 ?1622次閱讀
    使用AMD Vitis Unified IDE創(chuàng)建<b class='flag-5'>HLS</b>組件

    如何使用AMD Vitis HLS創(chuàng)建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS 來創(chuàng)建一個 HLS IP,通過 AXI4 接口從存儲器讀取數(shù)據(jù)、執(zhí)行簡單的數(shù)學運算,然后將數(shù)據(jù)寫回存儲器。接著會在 AMD Vivado Design Suite 設計中使用此 HLS
    的頭像 發(fā)表于 06-13 09:50 ?1063次閱讀
    如何使用AMD Vitis <b class='flag-5'>HLS</b>創(chuàng)建<b class='flag-5'>HLS</b> IP

    Vivado HLS設計流程

    為了盡快把新產(chǎn)品推向市場,數(shù)字系統(tǒng)的設計者需要考慮如何加速設計開發(fā)的周期。設計加速主要可以從“設計的重用”和“抽象層級的提升”這兩個方面來考慮。Xilinx 推出的 Vivado HLS 工具可以
    的頭像 發(fā)表于 04-16 10:43 ?1190次閱讀
    Vivado <b class='flag-5'>HLS</b>設計流程

    Arm解讀Armv9 CPU為何是打造高性能、高能效移動計算的關鍵

    CPU 性能的關鍵指標的重要性。與主要將頻率作為性能指標的做法不同,IPC 衡量的是 CPU 每個時鐘周期內能處理的指令數(shù)。對于移動設備而言,電池續(xù)航和散熱管理是影響實際應用、用戶體驗和設備處理復雜
    的頭像 發(fā)表于 03-14 15:51 ?1106次閱讀

    使用各種TensorFlow模型運行模型優(yōu)化器時遇到錯誤非法指令怎么解決?

    使用各種 TensorFlow 模型運行模型優(yōu)化器時遇到 [i]錯誤非法指令
    發(fā)表于 03-05 09:56

    大語言模型的解碼策略與關鍵優(yōu)化總結

    的技術參考。主要涵蓋貪婪解碼、束搜索、采樣技術等核心解碼方法,以及溫度參數(shù)、懲罰機制等關鍵優(yōu)化手段。大型語言模型的技術基礎大型語言模型是當代自然語言處理技術的核心
    的頭像 發(fā)表于 02-18 12:00 ?900次閱讀
    大語言模型的解碼策略與<b class='flag-5'>關鍵</b><b class='flag-5'>優(yōu)化</b>總結

    SAR ADC的工作過程和關鍵指

    ADC以其低功耗、高精度、小尺寸以及適中的速度和分辨率,在中等至高分辨率應用中占據(jù)主導地位。本文將詳細介紹SAR ADC的概念、工作過程、關鍵指標以及其在不同領域的應用。
    的頭像 發(fā)表于 02-02 13:57 ?1937次閱讀

    前端性能優(yōu)化:提升用戶體驗的關鍵策略

    在互聯(lián)網(wǎng)飛速發(fā)展的今天,用戶對于網(wǎng)頁的加載速度和響應性能要求越來越高。前端性能優(yōu)化成為了提升用戶體驗、增強網(wǎng)站競爭力的關鍵策略。一個性能良好的前端應用,能夠快速響應用戶的操作,減少等待時間,為用戶
    的頭像 發(fā)表于 01-22 10:08 ?672次閱讀

    數(shù)字化車間——有哪些關鍵指標?

    數(shù)字化車間是智能制造的核心引擎,通過數(shù)字化技術和信息化手段,實現(xiàn)生產(chǎn)數(shù)據(jù)的實時采集、傳輸、分析和應用,提高生產(chǎn)效率和管理水平,增強競爭力。影響其性能的關鍵指標包括設備綜合效率(OEE)、時間開動率、性能開動率、合格品率等。
    的頭像 發(fā)表于 12-23 11:01 ?942次閱讀
    數(shù)字化車間——有哪些<b class='flag-5'>關鍵指</b>標?

    低噪聲運算放大器的關鍵指標特點、優(yōu)勢和應用場景

    低噪聲運算放大器的關鍵指標特點、優(yōu)勢和應用場景。 1 低噪聲 應用場景1: 在大部分高精度放大的應用中,都需要外部增加一款運放進行電流采樣放大,而在電路應用系統(tǒng)中一般輸入信號幅值比較小,這樣就要求運放自身的噪聲要遠
    的頭像 發(fā)表于 12-23 10:13 ?1712次閱讀
    低噪聲運算放大器的<b class='flag-5'>關鍵指</b>標特點、優(yōu)勢和應用場景

    MCU性能與功能:優(yōu)化設計的關鍵

    MCU(微控制單元)是現(xiàn)代電子產(chǎn)品中不可或缺的核心組件,廣泛應用于家電、汽車、工業(yè)控制、醫(yī)療設備及消費電子等領域。隨著科技的不斷發(fā)展,MCU的性能與功能得到了前所未有的提升,而優(yōu)化設計成為推動這一變化的關鍵所在。
    的頭像 發(fā)表于 11-01 13:26 ?1267次閱讀

    如何優(yōu)化 Llama 3 的輸入提示

    優(yōu)化輸入提示(prompt engineering)是提高人工智能模型輸出質量的關鍵步驟。對于Llama 3這樣的模型,優(yōu)化輸入提示可以幫助模型更準確地理解用戶的意圖,從而生成更相關和高質量的內容
    的頭像 發(fā)表于 10-27 14:39 ?1049次閱讀