Forum Discussion
> 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...
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!
- avk5 years ago
New Contributor
Hi there,
I've had the exact same questions - unfortunately after we bought a new AMD Ryzen 9 3900X 12-Core Processor, 3793 MHz and realized, that compilation times was about the same as on our personal laptops with quad Core intel processors. I would strongly discourage you of buying AMD Ryzen cores if it is not too late. Would be very interesting to share experience with you about this stuff, since intel support is not very helpful here
BR Andreas
- Wrdlwrmpft5 years ago
New Contributor
Hi, avk,Thanks for the very first actually helpful contribution in this thread
- OK, I see... Zen2 CPUs seem to be not much better than Zen1 for Quartus. Too bad. May I know which CPUs exactly are in the laptops? Do you have the numbers of the compilation times of a same project? We could make (or start) a list with compilation-time-relations here, and as soon there are some other contributions which provide missing links, or with interpolation, finally do a ranking of current CPUs...
btw... could you try to set the number of cores in Quartus for the 3900X to lower numbers? 1, 2, 4 for example? This is because I suspect that especially this CPU could actually be quite a bit faster using less cores, because it could work in turbo mode then and does not have to go back to base frequency, which could weight more than the benefit of parallel computing. When I find some time, I will also re-test at least one of our xeon-machines with the all-cores-turbo-mode enabled in BIOS (which is actually overclocking) to get a feeling how much turbo mode contributes and how much it gets slowed down if using many or all cores lowers the CPU clock...
I intend to buy only one machine probably till end of October, just to test it in comparison to our current machines. Most likely with a Xeon W-1290P. Of course I will show the comparison to our old machines here.
Cheers
- avk5 years ago
New Contributor
Hi all,
Sad to say but this is just very very poor support from intel @skyjuice @SyafieqS . More than two weeks gone without a useful suggestion. Not even a discussion. Either you are helpless overcharged, you think it is not an important topic, or you know exactly that you have a problem here but are not allowed to talk about. I suspect the last. However this is a) not helpful and b) it will not stop the rumours about intel slowing quartus down on processors other than intel! Be aware that such stories may influence early design desicions...
BR
- AEsqu5 years ago
Contributor
At least when Quartus was still Altera's baby support was incredible (response within a day)
with real deep competences support.
All his gone since Intel bought Altera.
- KentChagn4 years ago
New Contributor
Dear All
Maybe some testing of AMD CPUs with Quartus for reduce compilation time can help you, pls refer as below link:
https://misterfpga.org/viewtopic.php?t=800
my conclusion is (1) if you using AMD's CPUs, you need to change the setting of set_global_assignment -name NUM_PARALLEL_PROCESSORS with right value.
note: don't count HT and need do some experiments for your design for get best counts of processor counts for Quartus.
(2) when CPU counts > 8, maybe can't get more benefit obviously for compilation time, because Quartus seems not do well optimization for multi-thread (I guess^^).
seems when your CPUs counts > 8 will not let compilation time decreasing in Vivado too.(3) more CPU MHz and Cache size will help reduce compilation time more obviously for Quartus.
(4) using SSD and large DRAM in your PC for larger size FPGA (Stratix/Arria) are is necessary.
Kent^^