In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-19 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/02 Report--
This article will explain in detail what is the difference between jobs and threads in Vivado. The content of the article is of high quality, so the editor will share it with you for reference. I hope you will have a certain understanding of the relevant knowledge after reading this article.
When compiles the project with Vivado, the following dialog box pops up:
Note: although FPGA cannot be called compilation, many engineers refer to the process of synthesis + implementation + generation of bit files as compilation for the sake of convenience, which is good for everyone to understand.
Many engineers will choose multiple jobs to compile, thinking that this will be faster, and the number of this jobs is the same as the number of threads in the local CPU, which makes engineers think that this option is multithreaded compilation.
but engineers who are more familiar with Vivado will surely know that multithreading in Vivado is set up through tcl scripts, and the maximum number of threads that can be used at present is 8, so what does this jobs have to do with multithreading? Can using multiple jobs speed up compilation?
Let's first look at the definition of jobs and write in UG904 as follows:
Therefore, this jobs only works when we have multiple runs running at the same time, and if there is only one Design run, this parameter does not work.
For multithreading, says something like this in UG904:
The Implementation process uses a maximum of 8 threads. On Windows, the default is 2 threads. On Linux, the default is 8 threads. We can change the number of threads through the tcl script as follows:
Set_param general.maxThreads 8
You can also get the number of threads currently in use:
Get_param general.maxThreads
in order to more intuitively reflect the use of jobs and threads, the following inhumane experiments:
First of all, the processor is Intel i7-8700 KJI 6-core 12 threads, the time recorded below is only the time of Implementation, not including Synthesis.
Test1 is the default of 2 threads, and 19min is required in the case of maximum jobs (12).
Test2 reduces jobs to 1, thread is still 2, and still needs 19min, indicating that when there is only one Design Run, the number of jobs does not affect the compilation time.
Test3 uses 8 threads. Jobs is the same as Test1, both 12. 17min is needed at this time, which is faster than the default 2 thread 2min.
Test4 reduces jobs to 1 on the basis of 8 threads, which is still 17min. When verifying a single design run again, the number of jobs does not affect the compilation time.
Test5 is a total of 6 Implementation Design runs, using 8-thread 12jobs to run at the same time
As you can see in the figure below, the utilization of CPU is already very high.
Test6 is also a Design runs,8 thread of 6 Implementation, but jobs is set to 1. At this time, you can see that only one design run is running, and the others are waiting. You will not start until the previous one has finished running.
NumjobsthreadstimeTest112219minTest21219minTest312817minTest41817minTest512838minTest618120min
From the above experiments, we can sum up as follows:
The compilation speed is not affected by the number of individual design run,jobs
On Windows, the default number of threads is 2, and we can change the number of threads through tcl, but we have to reset it every time we open the project. Multithreading will shorten the time for comprehensive implementation, but the effect is not very obvious. An engineer on the Internet said that for a project that was originally compiled with two threads in one hour, the compilation time was 50 minutes after using eight threads.
In the case of multiple design runs, the number of jobs is the current number of design run that can run at the same time.
So much for sharing what is the difference between jobs and threads in Vivado. I hope the above content can be helpful to you and learn more knowledge. If you think the article is good, you can share it for more people to see.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.