Forum Discussion
Hi Fred,
Thanks for using Intel Community,
There is no exact CPU or benchmark which are the fastest for compiling project. You can purchase any computer that had the high processor depending on your application and needs excluding the Intel HyperThreaded cores, Quartus Prime had a feature call use maximum processor allowed. You can choose up to 16 processor for the compilation.
Systems with all of the following characteristics may require additional configuration to achieve the lowest possible compilation time:
•The system has more than two processor cores (excluding Intel HyperThreaded cores)
•The system is running Microsoft Windows
•The processor cores share a level of cache. For example, Intel Core 2 Duo and Intel Core 2 Quad processors share 2nd level cache. In addition, the AMD Barcelona processor and some recent Sun UltraSPARC processors are also affected. But AMD Opteron processors (as of May 2007) do not share a level of cache.
The Quartus Prime software requires significant processor and memory resources. CPU speed is the main factor that affects with compile time performance. Consider multi-core processors and multi CPU configurations to take advantage of multi-threaded compilation. Then design partitioning and incremental compilation take full advantage of the available cores. Refer to Reducing Compilation Time in volume 2 of the Quartus II Handbook
Different computers have different parallel processing capabilities. In general, newer computers perform better than older ones. This is because they were designed more specifically for parallel processing. Some very old multiprocessor computers might show a decrease in parallel compilation performance due to very low communication bandwidth between the processors.
You may also need to refer to the kdb listed: https://www.altera.com/support/support-resources/knowledge-base/solutions/rd05082012_510.html
Thanks,
Regards
- Wrdlwrmpft5 years ago
New Contributor
> There is no exact CPU or benchmark which are the fastest for compiling project.
The compilation times of the same big Quartus project on a specified Zen2 system and on a Gen10 Intel system could very well give excellent starting points for conclusions. Of course there will be slight variations depending on the FPGA design, used FPGA type, compilation parameters and so on, but they are really small. We tested different projects on our machines. There were almost no relative deviations to the given example as long as there is enough RAM, except for very small projects where the compilation time does not matter anyway. So there can very much be quite exact quantification.
> You can purchase any computer that had the high processor depending on your application and needs excluding the Intel HyperThreaded cores, Quartus Prime had a feature call use maximum processor allowed. You can choose up to 16 processor for the compilation.
So if we follow your advice, we would for example buy 8-core AMD Ryzen 7 over 2-core Intel Pentium G5400. According to https://community.intel.com/t5/Intel-Quartus-Prime-Software/Why-is-AMD-Ryzen-7-CPU-so-slow-in-Fitter-in-Quartus-Prime-Lite/td-p/198060 this might be a very bad advice.
> You can choose up to 16 processor for the compilation.As I wrote, according to our findings, using 8 or 16 CPUs does make almost no difference for Quartus. Even 4 or 6 cores does not matter much. I just compiled a Quartus project on one of the Xeon E5-1650 v3 machines we intend to replace. 6 cores: 0:24:49 seconds, 4 cores: 0:25:16, 2 cores: 0:28:49, 1 core: 0:35:29. That is 40% difference between 1 and 4 cores, 23% between 1 and 2 cores, 14% between 2 and 4 cores, but only 1.8% difference between 4 and 6 cores.
> The system has more than two processor cores (excluding Intel HyperThreaded cores)
Which one of the CPUs we consider buying does not have more than two cores?...
> The system is running Microsoft Windows
We tested both Linux and Windows on several machines. No significant difference. And we use Linux exclusively since 2015 on our workstations. So why do you advice that we should use Windows?
> The processor cores share a level of cache. For example, Intel Core 2 Duo and Intel Core 2 Quad processors share 2nd level cache. In addition, the AMD Barcelona processor and some recent Sun UltraSPARC processors are also affected. But AMD Opteron processors (as of May 2007) do not share a level of cache.
I am asking about the very latest top notch hardware, and you refer to 13 year old museum pieces? Are you kidding me?
> The processor cores share a level of cache.
I showed in my first posting which ones of the CPUs have shared caches, and stated that cache architecture matters. So the question clearly is not if it does, but how much it does. With current (and not 13 year old) CPU designs.
> You may also need to refer to the kdb listed
This is one of the generic old sources I meant with "In Altera/Intel documentation I essentially only found that faster CPUs and large CPU-caches are helpful.".
> In general, newer computers perform better than older ones
You don't say...
- skyjuice5 years ago
Occasional Contributor
Hi,
Not all algorithms in the compiler flow are independent/parallel. Assuming you're compiling on local machine and not on a compute grid, you can try the following:
For fastest elapsed time 16 CPUs are recommended
QSF setting: set_global_assignment -name NUM_PARALLEL_PROCESSORS 16
For maximized throughput 4 CPUs are recommended
QSF setting: set_global_assignment -name NUM_PARALLEL_PROCESSORS 4
The compile time might depending on the design, so I'd also want to hear your feedback after you try the above
- Wrdlwrmpft5 years ago
New Contributor
The topic of this thread is:
"Which CPUs are the fastest for compiling Quartus projects?".
It is not:
"How should we adjust Quartus to optimize it for our 6 year old systems?".I am sure that we use our old systems optimally.
As I wrote, our current (all local) old workstations have 6 CPU cores each. We do not have any machines with 16 CPU cores (yet). So I can not set them to 16 CPUs, and so I can not give feedback on that.
And I honestly actually do not care in the end how many CPU cores there are in one workstation, I do not care how much cache they have and if is shared or not, or anything else. I just mentioned the data because it could affect the numbers, why each of the CPU in question has its pros and cons, and why thus I do not see from the data of the CPUs which one is best for Quartus compilation.
I have to buy new machines in the next three months that make our engineers and students wait as little time as possible for their compilation results. Of course we will find out and use the optimal compiler settings for the new machines, as we did for their current ones. All the other components (SSDs, RAM, etc...) are pretty much clear, but the CPUs are not.
I have to avoid to buy new systems just to discover anything like https://community.intel.com/t5/Intel-Quartus-Prime-Software/Why-is-AMD-Ryzen-7-CPU-so-slow-in-Fitter-in-Quartus-Prime-Lite/td-p/198060 .
I am sure that we are not the only ones buying new workstations for Quartus from time to time, but other readers are also interested in this topic. So it would be really helpful if anyone could actually give useful information, measured compared compilation times, real data, something to work with.
Thanks again in advance!