Forum Discussion
Sure, the attached is at the point where it stalls. I've also included the configurations (I've tried varying numbers for maximum allowed processors including 1, 8, 16).
AMD Ryzen support Simultaneous Multithreading (SMT) if check this https://www.techpowerup.com/cpu-specs/ryzen-threadripper-pro-3995wx.c2314 Could you try to turn off through BIOS?
- corestar1 month ago
Contributor
Hello ShengN_altera ,
That worked!
I did not realize "SMT" was AMD's term for Hyper-threading. Still not clear why it caused a problem. It is supposedly transparent to user programs.
I went into the BIOS:
Advanced\AMD CBS\CPU Common Options\Thread Enablement
and changed SMD Control to disabled. It now completes the compile.
Hopefully it will not affect other programs, but at least I have a solution. Hyper-threading is probably a waste of time on a 64 core system anyway.
- ShengN_altera1 month ago
Super Contributor
Great to hear that your problem had been resolved. FYI Quartus not work well with SMT
- FvM1 month ago
Super Contributor
Hi,
I noticed that the Ryzen SMT problem has been discussed before Quartus 18 couldn't complete fitter with Ryzen 3990X | Altera Community
I'm interested in the topic because we are planning to utilize build servers for FPGA projects which may bring up the same problem.
I also noticed that there's a Ryzen Master tool that seems to be able to control hardware parameters like SMT per profile, so it can be hopefully selectively disabled for Quartus in case it turns out that other applications performance is negatively affected.
But I also wonder if this is actually a Ryzen or Quartus bug. As a user, I expect that apps are able to control all relevant processor parameters in a standard PC environment. If it's not possible in special cases, requirements like SMT deactivation should be at least clearly communicated. In so far I see at least a lack of documentation.
Regards
Frank
P.S.: Previous thread suggests there's a negative impact of disabling SMT:
I than disabled the Symetric Multithreading (SMT) option in my BIOS and it could than complete Fitter. However, this causes my system to become quite unresponsive. - corestar1 month ago
Contributor
ShengN_altera thanks for the help.
When you say Quartus does not work well with SMT, do you mean Hyper-Threading in general or is there some specific bug in AMD SMT?
Note, the other engineers who successfully compiled this program were on 8 core AMD Ryzen machines with SMT enabled. So SMT alone is clearly not the issue; it must be a combination of number of cores and SMT. I tend to agree with FvM that if Quartus cannot handle certain configurations then it should at least detect it and produce an error message (eg "Disable SMT to run Advanced Physical Optimization").
As near as I can tell, SMT/Hyper-threading is completely transparent to software. I suspect somewhere in the internals of Quartus someone 20 years ago hardwired and array to say 16 cores (alot at the time) and it just needs updated.
But thanks again. It's not an ideal solution, but at least I can run.
- ShengN_altera1 month ago
Super Contributor
Yes, it's a combination of number of cores and SMT. 64 cores SMT will run with more numbers of threads/logical CPUs compared to 8 cores SMT.
- ShengN_altera1 month ago
Super Contributor
It's limitation. Quartus not work well with high core (exceed 16 cores) with SMT. The too high multithreading will cause Quartus not function properly.