Overclock.net › Forums › Intel › Intel CPUs › Skylake X Phantom Throttling
New Posts  All Forums:Forum Nav:

Skylake X Phantom Throttling

post #1 of 30
Thread Starter 
If anybody has been following the other Skylake X threads, you'll notice that there's been some talk about the "phantom throttling" on Skylake X. For the past week, there's been at least several people (including myself) that have been investigating the throttling issue. And I'd like to gather all the information in one place.


What is "Phantom Throttling"?

Phantom throttling is when the processor throttles the performance without a visible change in clock frequency. Overclocker der8auer best explains this here (though he doesn't actually use the term "phantom throttling").

What this means is that your processor can throttle in a way that is undetectable in CPUz because the clock speed stays the same - hence "phantom".

But even through the clock speed doesn't change, there are multiple (indirect) ways to detect it:
  • A decrease in performance.
  • A drop in temperatures.
  • A drop in power consumption.

The problem with phantom throttling is that it is hard to detect unless you're specifically looking for it. So if your a 7900X passes a stress-test at 5.0 GHz on air, you may think the chip is great. But in reality, it's probably phantom throttling and therefore the stress-test is invalid. Furthermore, when the phantom throttling kicks in, the performance drops off much more than normal (clock-speed) throttling.


What does it look like?

As mentioned, it is a drop in performance/temperature/power-consumption without a drop in clock frequency. In effect, it's a drop in IPC (instructions per cycle).

Here's a table of benchmarks showing the 7900X phantom throttling with the Gigabyte AORUS Gaming 7 (BIOS F7a) at stock settings under an AVX512 load.

(Source: http://www.numberworld.org/y-cruncher/news.html#2017_7_6 - There are also screenshots for all the benchmarks with detailed monitoring info in the source.)

Most of the benchmarks show perfect performance scaling from AVX2 -> AVX512 as well as increase in thread count. However, the AVX512 benchmarks start throttling at 10 threads/10 cores. The frequency is still 4.0 GHz as read by CPUz, HWMonitor, and CoreTemp. But the performance, temperature, and power draw drop off drastically. The performance loss is so severe that AVX512 becomes slower than than the AVX2!


What causes phantom throttling? (Updated: 9/24/2017)

There seems to be multiple causes of the throttling - some of which are more "phantom" than others.

Voltage droop on the CPU input voltage (VCCIN/VRIN) under load:

The stock VCCIN is 1.8v. But under a large load, it may drop to as low 1.60 - 1.65v. If it drops too far, the throttling kicks in. The exact cut-off is unknown, but it seems to be around the range of 1.68 - 1.70v.

Furthermore, the throttling isn't always a sudden cliff. And you may see the VCCIN go back above the thresholds. My suspicion is that there may be a feedback loop where the throttling (with the decreased CPU power draw) allows the VCCIN to go back above the threshold as which the throttle stops and the power-draw increases causing the VCCIN to droop back down - thus repeating the cycle.

So depending on where your hardware monitor probes the VCCIN during this feedback loop, it may catch it anywhere in the range of 1.65 - 1.80v. This makes it possible to read 1.75v+ even though you're clearly throttling.

This VCCIN throttle is a phantom throttle. Based on my conversations with an industry insider, the cause seems to be a frequency divider on the core that kicks in when certain triggers are hit. The reason why it is "phantom" is because the vast majority of (all?) the hardware monitors available (including CPUz) are not able to read this frequency divider. And therefore, they cannot correctly compute the actual CPU frequency.

In other words, the throttling is an actual drop in CPU frequency that's undetectable. There are no forms of architectural or IPC throttles as had been hypothesized before.

Thermal Limits:

There are numerous other limits such as current, wattage, etc... that may cause the CPU the throttle. These may or may not be phantom.


(Outdated) Original Answer: Warning: Spoiler! (Click to show)

So far multiple causes have been identified. And they vary by motherboard. One that seems to be common across all motherboards is thermal limitations. But the details of are still fuzzy.

In my personal emails with Silicon Lottery, he says that pretty much all the X299 motherboards have some sort of phantom throttling. But so far most of the information is about ASUS and Gigabyte. Silicon Lottery also says that ASUS boards are the least affected. But this was before der8auer found that the VCCIN vdroop was the problem with the Gigabyte boards.

As of right now, the exact mechanism of the phantom throttling is unknown. Is the processor turning off execution units? Is it lying about the frequency? We currently do not know.

Assuming phantom throttling is intentionally designed by Intel, we also don't know why they would choose a phantom throttle over a normal throttle. Normal throttling (by lowering clock speed) has the advantage of allowing the vcore to be dropped to further cut back on thermals.


How do I fix it? (Updated: 9/24/2017)

Voltage Droop on VCCIN/RIN:

The fix here is simply to keep the VCCIN/VRIN from dropping below the threshold of 1.68 - 1.70v.

There are numerous ways to do this depending on the motherboard and BIOS. The obvious way is to simply increase it above 1.80v so that when it drops, it still stays above the threshold. Alternatively, you can use load-line calibration.

Thermal Limits:

These vary by motherboard. But there seem to be two limits that need to be increased:
  • Current Limit
  • Current Protection Limits

If the current limits are hit, the processor will throttle. If the current protection limits are hit, the system will simply shutdown. See the second post for the known motherboard-specific solutions.


Going back to the benchmark above, here's what it looks like without the throttling:



So now instead of phantom throttling, there is a bit of temperature throttling as it hits the TjMax of 95C. The temperature throttling is only slight and is visible as drops in clock frequency. Overall the performance is much better.

Fun Fact: The 7900X can pull 300W at only 4.0 GHz at stock voltages while running AVX512!


Questions or comments?

Disclaimer: I'm the author of the y-cruncher benchmark that's been referenced above.

Here's a dump of other places where I or someone else has mentioned the phantom throttling:

Edited by Mysticial - 9/24/17 at 12:49pm
post #2 of 30
Thread Starter 
Known Solutions each Motherboard Manufacturer:

Gigabyte:
  • Package Power Limit 1: 400W (prevent throttling due to over-current)
  • Package Power Limit 2: 400W (prevent throttling due to over-current)
  • CPU VCore Loadline Calibration = Medium (prevent the vdroop on VCCIN)
  • CPU VCore Current Protection = High (prevent the hard shutdown due to over-current)

ASUS:

The only information here is very old and needs to be updated.

der8auer explains that you need to disable SVID and set CPU current capability to 140%. Presumably this gets around all the over-current protections, but it doesn't say anything about the VCCIN vdroop.

Asus motherboards are supposed to have better LLC settings to counter the VCCIN vdroop.


(If you have a solution for a board/manufacturer that isn't listed here or if you see something that doesn't work, please post it.)
Edited by Mysticial - 9/24/17 at 12:44pm
post #3 of 30
Mystical, as i understand, this is related to the TDP imposed by intel to keep temperatures and wattage at bay.
Im not seeing many reviews of the 7820X, the one im considering, im looking into the cpu to know what kind of wattage load i can expect under 4.5 - 4.6 around 1.2v.

Also, about the 7900x, this issue is only reported at P95 or other loads are suffering the same?
post #4 of 30
Thread Starter 
Quote:
Originally Posted by postem View Post

Mystical, as i understand, this is related to the TDP imposed by intel to keep temperatures and wattage at bay.
Im not seeing many reviews of the 7820X, the one im considering, im looking into the cpu to know what kind of wattage load i can expect under 4.5 - 4.6 around 1.2v.

Also, about the 7900x, this issue is only reported at P95 or other loads are suffering the same?

Unfortunately, I also don't have any information about the 7820X. Aside from obviously having 2 fewer cores, they're also not supposed to have the full AVX512 capability.

Personally, I haven't hit the throttling for non-AVX512 loads because I haven't done much testing above 4.2 GHz. But others are hitting it for all loads (prime95 or not) in the 4.7+ GHz range. der8auer mentions in his video hitting it on prime95 at 4.5GHz for the 7900X. In my emails with Silicon Lottery, he says he's been hitting a lot, but didn't give me any specifics. I assume these are also in the 4.5 GHz range given those are the clock speeds of the chips he sells.

If I had to guess, the 7820X won't hit it until the 4.8 GHz range - and only under something like prime95. AVX512 loads shouldn't be any worse since they're only supposed to run at half speed on the 7820X. But this has yet to be confirmed.
post #5 of 30
Good, i dont have nor pretend to use AVX loads.
P95 is already pretty damn hammering on cpu, if i record well, SL uses the asus bench for stability tests and it envolve encoding with avx calls.
This cpu will be used for gaming and a bunch of vms, in normal usage it should stay pretty stable.
post #6 of 30
Chrome browser uses AVX. I don't like where the technology is going towards restriction.

Thanks for posting all this information.
post #7 of 30
Thread Starter 
Alright. It looks like the 7800X has been confirmed to have the full-throughput AVX512. So presumably, the 7820X will have it too:

Source: http://www.pcgameshardware.de/Skylake-X-Codename-266252/News/Core-i7-7800X-AVX512-Durchsatz-1232713/

This goes against all the pre-launch reviews about the 7800X and 7820X not having the full AVX512.
post #8 of 30
Quote:
Originally Posted by Mysticial View Post

Alright. It looks like the 7800X has been confirmed to have the full-throughput AVX512. So presumably, the 7820X will have it too:

Source: http://www.pcgameshardware.de/Skylake-X-Codename-266252/News/Core-i7-7800X-AVX512-Durchsatz-1232713/

This goes against all the pre-launch reviews about the 7800X and 7820X not having the full AVX512.

Wasn't expecting this. Intel is all about crippling features to upsell costly CPUs like they done with pci lanes. You confirmed it with flops output?
post #9 of 30
Thread Starter 
Quote:
Originally Posted by postem View Post

Wasn't expecting this. Intel is all about crippling features to upsell costly CPUs like they done with pci lanes. You confirmed it with flops output?

Correct. The guy confirmed with me that it was running at 3.5 GHz under AVX512.

The benchmark shows: 677.76 GFlops

Theoretical limit (half-throughput AVX512): (1 FMA/cycle) * (2 Flops/FMA) * (8 DP/inst for AVX512) * (6 cores) * (3.5 GHz) = 336 GFlops
Theoretical limit (full-throughput AVX512): (2 FMA/cycle) * (2 Flops/FMA) * (8 DP/inst for AVX512) * (6 cores) * (3.5 GHz) = 672 GFlops
post #10 of 30
Very informative. Thanks!

I'm also very curious how this affects the 7820X. It seems to be in a thermal sweet spot compared to the 7900X, and that fits me just fine! I'm too cheap for a 7900X anyway tongue.gif.

Question about AVX512.. Is it at all possible that production units of the 7820X are binned 7900X where two of the cores didn't pass, and therefore have both FMAs? Is it only some of them?
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Intel CPUs
Overclock.net › Forums › Intel › Intel CPUs › Skylake X Phantom Throttling