91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vivado中jobs和threads的區別是什么

發布時間:2021-08-09 14:38:15 來源:億速云 閱讀:399 作者:Leah 欄目:互聯網科技

這篇文章將為大家詳細講解有關Vivado中jobs和threads的區別是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

??在用Vivado對工程編譯時,會彈出下面的對話框:

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

Vivado中jobs和threads的區別是什么  


很多工程師都會選擇多個jobs進行編譯,以為這樣會更快一些,而且這個jobs的數量跟本地CPU的線程數是一致的,這就更加讓工程師們認為這個選項就是多線程編譯了。

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

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


  Vivado中jobs和threads的區別是什么  

因此,這個jobs是我們在同時有多個runs在跑的時候才起效的,如果只有一個Design run,那這個參數是不起效的。

Vivado中jobs和threads的區別是什么  


??對于多線程,在UG904中是這樣說的:

Vivado中jobs和threads的區別是什么  


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

set_param  general.maxThreads 8
 

也可以獲取當前使用的線程數:

get_param  general.maxThreads
 

??為了更直觀的體現jobs和threads的使用方式,下面進行慘無人道的試驗:

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

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

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

  • Test3是采用8線程,jobs跟Test1相同,都是12,此時需要17min,比默認的2線程快了2min;

  • Test4是在8線程的基礎上,把jobs降為1,此時還是17min,再次驗證了單個design run時,jobs的數量不影響編譯時間;

  • Test5是總共有6個Implementation的Design runs,采用8線程12jobs同時跑;

Vivado中jobs和threads的區別是什么

在下面這個圖中也可以看出來,此時CPU的利用率已經很高了。

Vivado中jobs和threads的區別是什么


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


Vivado中jobs和threads的區別是什么



Numjobsthreadstime
Test112219min
Test21219min
Test312817min
Test41817min
Test512838min
Test618120min

從上面的試驗,我們可以總結如下:

  1. 對于單個design run,jobs的數量不影響編譯速度;

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

  3. 在多個design runs時,jobs的數量是當前可以同時運行的design run的個數。

關于Vivado中jobs和threads的區別是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

顺义区| 泗水县| 太和县| 同德县| 蓝山县| 苍溪县| 南部县| 宜章县| 郎溪县| 西乌| 崇礼县| 洛隆县| 荆门市| 双辽市| 达尔| 芦溪县| 大渡口区| 通辽市| 苍南县| 米易县| 上思县| 新竹市| 杭锦旗| 高碑店市| 南昌县| 丽水市| 柳江县| 扎囊县| 鹤壁市| 新巴尔虎右旗| 察雅县| 灵宝市| 辽中县| 红原县| 新乡市| 和静县| 利津县| 潞城市| 都昌县| 察隅县| 阳城县|