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è)jobs能加快實(shí)現(xiàn)速度么?

OpenFPGA ? 來源:未知 ? 作者:徐起 ? 2021-02-11 11:33 ? 次閱讀

在用Vivado對(duì)工程編譯時(shí),會(huì)彈出下面的對(duì)話框:

備注:雖然FPGA不能叫編譯,但很多工程師為了方便起見,將綜合+實(shí)現(xiàn)+生成bit文件的過程統(tǒng)稱為編譯了,這種說法大家理解就好。

a9e61696-5841-11eb-8b86-12bb97331649.png

很多工程師都會(huì)選擇多個(gè)jobs進(jìn)行編譯,以為這樣會(huì)更快一些,而且這個(gè)jobs的數(shù)量跟本地CPU的線程數(shù)是一致的,這就更加讓工程師們認(rèn)為這個(gè)選項(xiàng)就是多線程編譯了。

但對(duì)Vivado更加熟悉的工程師,肯定會(huì)知道,Vivado中的多線程是通過tcl腳本去設(shè)置的,而且目前最大可使用的線程數(shù)是8個(gè),那這個(gè)jobs跟多線程有什么關(guān)系呢?使用多個(gè)jobs能加快編譯速度么?

我們首先來看jobs的定義,在UG904中這樣寫道:

aa2656c0-5841-11eb-8b86-12bb97331649.png

因此,這個(gè)jobs是我們?cè)谕瑫r(shí)有多個(gè)runs在跑的時(shí)候才起效的,如果只有一個(gè)Design run,那這個(gè)參數(shù)是不起效的。

對(duì)于多線程,在UG904中是這樣說的:

aab33568-5841-11eb-8b86-12bb97331649.png

Implementation過程,最多使用8個(gè)線程,在Windows上,默認(rèn)是2線程;在Linux上,默認(rèn)是8線程;我們可以通過tcl腳本改變線程數(shù),使用方式為:

set_param general.maxThreads 8

也可以獲取當(dāng)前使用的線程數(shù):

get_param general.maxThreads

為了更直觀的體現(xiàn)jobs和threads的使用方式,下面進(jìn)行慘無人道的試驗(yàn):

首先,處理器Intel的i7-8700k,6核12線程,下面記錄的時(shí)間僅是Implementation的時(shí)間,不包括Synthesis。

Test1為默認(rèn)的2線程,最大jobs(12)的情況下,需要19min;

Test2把jobs降為1,線程還是2,仍然需要19min,說明在只有一個(gè)Design Run的時(shí)候,jobs的數(shù)量不影響編譯時(shí)間;

Test3是采用8線程,jobs跟Test1相同,都是12,此時(shí)需要17min,比默認(rèn)的2線程快了2min;

Test4是在8線程的基礎(chǔ)上,把jobs降為1,此時(shí)還是17min,再次驗(yàn)證了單個(gè)design run時(shí),jobs的數(shù)量不影響編譯時(shí)間;

Test5是總共有6個(gè)Implementation的Design runs,采用8線程12jobs同時(shí)跑;

在下面這個(gè)圖中也可以看出來,此時(shí)CPU的利用率已經(jīng)很高了。

ab6239aa-5841-11eb-8b86-12bb97331649.png

Test6也是6個(gè)Implementation的Design runs,8線程,但jobs設(shè)置為1,此時(shí)可以看出,只有一個(gè)design run在跑,其他都在等待中,要等這個(gè)前一個(gè)跑完后,后面的才會(huì)開始。

Test112219min

Test21219min

Test312817min

Test41817min

Test512838min

Test618120min

Numjobsthreadstime

從上面的試驗(yàn),我們可以總結(jié)如下:

對(duì)于單個(gè)design run,jobs的數(shù)量不影響編譯速度;

在Windows上,默認(rèn)的線程數(shù)是2,我們可以通過tcl來改變線程數(shù),但每打開工程后都要重新設(shè)置一下,多線程會(huì)使綜合實(shí)現(xiàn)的時(shí)間縮短,但效果并不是很明顯;網(wǎng)上有個(gè)工程師說本來2線程1小時(shí)編譯完的工程,用了8線程后,編譯時(shí)間為50分鐘;

在多個(gè)design runs時(shí),jobs的數(shù)量是當(dāng)前可以同時(shí)運(yùn)行的design run的個(gè)數(shù)。

原文標(biāo)題:Vivado中jobs和threads的區(qū)別?選擇多個(gè)jobs能加快實(shí)現(xiàn)速度么?

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

責(zé)任編輯:haq

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21777

    瀏覽量

    604779
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    661

    瀏覽量

    32943
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66725

原文標(biāo)題:Vivado中jobs和threads的區(qū)別?選擇多個(gè)jobs能加快實(shí)現(xiàn)速度么?

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Agilex 5 FPGA的模塊系統(tǒng)介紹

    ,這些應(yīng)用要求以更低功耗實(shí)現(xiàn)更高性能。SoM可以大大簡(jiǎn)化和加快嵌入式解決方案的開發(fā),為降低板卡設(shè)計(jì)和驗(yàn)證的相關(guān)風(fēng)險(xiǎn)提供理想起點(diǎn),并加快產(chǎn)品上市速度。
    的頭像 發(fā)表于 12-19 17:10 ?321次閱讀
    基于Agilex 5 <b class='flag-5'>FPGA</b>的模塊系統(tǒng)介紹

    TLC5602實(shí)現(xiàn)輸出40MHZ的速度嗎?

    請(qǐng)問這顆DAC實(shí)現(xiàn)輸出40MHZ的速度嗎,兩個(gè)電壓軌,占空比50%就行,有其它的推薦嗎,設(shè)計(jì)簡(jiǎn)單,性價(jià)比高一點(diǎn)的。
    發(fā)表于 11-26 07:11

    LMK05318在TICS Pro中怎樣設(shè)置,可以加快同步的速度,實(shí)現(xiàn)幾分鐘之內(nèi)相位同步?

    同步可能需要數(shù)小時(shí)。請(qǐng)問在TICS Pro中怎樣設(shè)置,可以加快同步的速度,實(shí)現(xiàn)幾分鐘之內(nèi)相位同步?可以接受同步過程中輸出頻率的偏差,但要求相位快速同步。附件是我這次的使用的配置文件,請(qǐng)問這樣的配置是否有問題?
    發(fā)表于 11-12 06:46

    TLV320AIC3104數(shù)據(jù)表中的插圖,請(qǐng)問1實(shí)現(xiàn)調(diào)音量嗎?2實(shí)現(xiàn)多通道混音嗎?

    TLV320AIC3104數(shù)據(jù)表中的插圖,請(qǐng)問1實(shí)現(xiàn)調(diào)音量?2實(shí)現(xiàn)多通道混音?
    發(fā)表于 11-04 06:36

    tlv320aic3106的tdm模式實(shí)現(xiàn)多個(gè)mic的信號(hào)分時(shí)復(fù)用嗎?

    我想問一下,tlv320aic3106的tdm模式,實(shí)現(xiàn)多個(gè)mic的信號(hào)分時(shí)復(fù)用嗎?
    發(fā)表于 10-15 08:34

    同步與多個(gè)FPGA接口的千兆樣本ADC

    電子發(fā)燒友網(wǎng)站提供《同步與多個(gè)FPGA接口的千兆樣本ADC.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 11:32 ?0次下載
    同步與<b class='flag-5'>多個(gè)</b><b class='flag-5'>FPGA</b>接口的千兆樣本ADC

    聲發(fā)射系統(tǒng)的技術(shù)指標(biāo):最高采樣速度選擇

    雖然理論上采樣速度越高獲得的數(shù)字信號(hào)越完整,但考慮到實(shí)際應(yīng)用的成本,無法實(shí)現(xiàn)無限高甚至過高,只能選擇合理(即滿足應(yīng)用要求)的采樣速度。例如,采樣速度
    的頭像 發(fā)表于 08-26 17:30 ?385次閱讀
    聲發(fā)射系統(tǒng)的技術(shù)指標(biāo):最高采樣<b class='flag-5'>速度</b>的<b class='flag-5'>選擇</b>

    如何在FPGA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)

    隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)作為其核心組成部分,已廣泛應(yīng)用于圖像識(shí)別、語音識(shí)別、自然語言處理等多個(gè)領(lǐng)域。然而,傳統(tǒng)基于CPU或GPU的神經(jīng)網(wǎng)絡(luò)計(jì)算方式在實(shí)時(shí)性、效比等方面存在諸多挑戰(zhàn)?,F(xiàn)場(chǎng)
    的頭像 發(fā)表于 07-10 17:01 ?2183次閱讀

    FPGA實(shí)現(xiàn)什么樣的算法?

    FPGA功能如此強(qiáng)大,請(qǐng)問用FPGA實(shí)現(xiàn)或者比較適合實(shí)現(xiàn)什么樣的算法?
    發(fā)表于 05-26 20:18

    中高端FPGA如何選擇

    隨著國產(chǎn)FPGA的崛起,中低端產(chǎn)品中,很多國產(chǎn)FPGA都是不錯(cuò)的選擇,性價(jià)比很高。高端FPGA中,往往還是以AMD和Intel為主,但最近這幾年,Achronix公司的
    發(fā)表于 04-24 15:09

    儲(chǔ)電池的參數(shù)和裝機(jī)容量是如何選擇的?

    首先,儲(chǔ)電池的參數(shù)選擇是一個(gè)復(fù)雜而精細(xì)的過程,涉及電池類型、電壓等級(jí)、能量密度、功率密度、循環(huán)壽命等多個(gè)維度。
    的頭像 發(fā)表于 04-18 15:26 ?877次閱讀

    fpga實(shí)現(xiàn)什么功能

    FPGA(現(xiàn)場(chǎng)可編程門陣列)是一種可編程邏輯芯片,其主要作用和功能體現(xiàn)在多個(gè)方面。
    的頭像 發(fā)表于 03-27 14:11 ?1457次閱讀

    stm32h743是不是可以直接用ICache加快一些速度

    stm32h743是不是可以直接用ICache加快一些速度,而不用DCache,DCache配置ram麻煩?
    發(fā)表于 03-08 08:01

    大家有全面轉(zhuǎn)型使用國產(chǎn)FPGA

    大家有全面轉(zhuǎn)型使用國產(chǎn)FPGA?比如高云、紫光、安路等等
    發(fā)表于 03-06 13:43

    FPGA輸入的時(shí)鐘信號(hào)必須是方波?正弦波會(huì)有影響

    FPGA輸入的時(shí)鐘信號(hào)必須是方波?正弦波會(huì)有影響? FPGA是一種可編程邏輯器件,通常用于實(shí)現(xiàn)數(shù)字電路。輸入時(shí)鐘信號(hào)是
    的頭像 發(fā)表于 01-31 11:31 ?3674次閱讀