• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Attempting to compare Skylake i5 vs i7

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

mackerel

Member
Joined
Mar 7, 2008
As background, last August I built an i7-6700k based system, and apart from some more or less solved ram stability, all was great. It was particularly fast at PrimeGrid where I spend a lot of CPU cycles. For practical purposes, you can compare it to running Prime95 24/7 as most of the heavy lifting is based on the same underlying code library.

I liked it so much, I wanted another one. I didn't want to spend as much on this system, as it would be a pure cruncher, so I went for the i5-6600k instead. Performance was disappointing. It was tens of % slower than the i7 system, putting it roughly comparable to Haswell i5 territory in IPC. Now, this isn't a fair comparison, since they weren't exactly the same configuration, but still the difference was more than I expected. As summary, I was running both CPUs at 4.2 GHz (4 cores active), i7 had faster ram 3200 vs 3000, and the i7 ring was a little faster too but I forget the exact numbers.

Earlier this week, I thought I'd get another i7 system to play with. I didn't really want to tinker with the old i7 since it is my daily use machine. I picked the same mobo as the i5 (MSI Gaming Pro), same cooler, same ram (other half of quad kit G.Skill Ripjaws 4 3333 but I never got it 100% stable and went down to 3000). Both have GPUs so as to avoid loading from the built in GPU.

Now, this new i7 I've had for less than 24 hours. I only had time to assemble it and clone the OS from the i5 system just to get it running quickly. I still need to tinker with it a lot more but HWInfo appears to be suggesting current limiting might be activating. I only just saw Intel XTU can also report that in real time so I will be trying that later. For now, the CPU is at stock, and I've copied the same 3000 ram settings from the i5 system (same mobo, same ram, so hopefully will be ok). I will add the i7 has the latest bios with Skylake bug fix, but I haven't applied this to the i5 system yet.

So quick questions for now:
1, has anyone experienced current limiting with i7-6700k? I'm still researching this and I need to try relaxing the limits in the mobo, although total power use suggests I shouldn't be hitting this anyway.
2, has anyone observed massive performance differences (>10%) between similarly clocked i5-6600k and i7-6700k? I expected things to be ram bandwidth limited since the workloads are too big to fit within the cache, but we do have a difference in cache size and associativity between them which may be a bigger factor.
 
1. If your application uses the AVX2 instructions, there tends to be a slight voltage increase when it uses those instructions. I don't have a 6600K, but I have a 6700K and pushed over 1.45v through it at 4.8Ghz and didn't see current limiting on my setup. Perhaps its the motherboard?

2. With heavily threaded (read: over 4) applications, of course! The 6600K doesn't have HT so it can only use 4 threads at once while the 6700K has HT and can use 8 threads at once.
 
Yes AVX2 is used (specifically FMA). I am wondering if the latest bios might do things differently than the previous one but I haven't had time to dig into that yet. The application has no benefit from HT (double the threads doubles the task time), so on my main desktop where it remains enabled I run 1 thread per physical core (4 threads). On the new i7 system I've simply turned HT off. I had seen some performance loss even running 4 threads with HT on, which can be regained by setting affinity.

I should have limited the 2nd question to those cases where the gain is NOT from HT. Strictly speaking I haven't proven the performance of my desktop remains the same when HT is off, so I will need to do that to say so definitively.

I was half wondering if the PSU could have an impact, but I've recycled an old Corsair TX750 so unless it is dying it shouldn't be short on power. It was powering an R9 280X OC recently (best part of 300W itself) until the fans on that died (to be replaced).
 
I installed Intel XTU and sure enough that showed "Current Limit Throttle" was activating. What this seemed to do was limit the clock to 4.0 GHz if set higher at the time of throttling. Increasing the limit from 120A to 150A cleared it, but things were getting rather toasty in there. What else could I try? I have no indication of the voltage the CPU is running at, but CPU-Z suggested it was around 1.4 which seemed a bit high. XTU allowed me to set an offset and I went with -0.1V. Success! Temps dropped, and I was still clear of throttling back at the original 120A limit.

I haven't proven it yet, but I suspect the bios of jacking up voltages when set to enhanced turbo or whatever they call it. If I find a suitable combination of settings, then I can start the serious benching and try to answer question 2 myself.
 
If you are overclocking with the voltage on auto, it will raise, and typically higher than it needs to in order to be stable. Set it manually, and it won't raise. ;)

What is your vcore in the BIOS? That is likely going to be your most accurate way of finding out unless that mobo has voltage read points and you have a multimeter.
 
As I understand it, there isn't such a thing as a default voltage for the i7-6700k, as individual ones may report different requirements. The bios will show what it is currently supplying, which may or may not resemble what the CPU requests. This is typically around 1.33. I have cleared >30mins Prime95 at 1.25V and 4.2 GHz, but errors at 1.20v.

Now, in a case of two steps forward, one step back, I can't get the box to boot any more with OC ram. It goes into an endless attempted boot cycle now, and I've tried various known combos (for the ram) and even lowering ram to 2800 and ring to 3800 without luck. All the more annoying since I was running it at 3000 overnight (at 4.0 GHz) without problem. Maybe there's some reason it can't take 4.2 and 3000 at the same time? Or I need to tinker with more voltages somewhere... but I'm running low on options.

Maybe that explains it. The CPU was previously limiting to 4.0 with ram at 3000 until after I boot into Windows, where I can then change the settings in XTU. Not ideal, but if it proves reliable for booting I'll have to go with it.
 
Each chip has a set voltage at stock speeds. Each chip can have different stock voltage values.. There is a range intel lists for VID (stock voltage). Each chip needs to be able to fit with assigned parameters, tdp for one.

There shouldn't be any reason your cpu can't run stock clocks with 3k ram and stock voltage.

That said, which specific 'gaming pro' board do you have? A link would be awesome. :)
 
https://www.msi.com/product/motherboard/Z170A-GAMING-PRO.html#hero-overview

I'm dialling in on a working configuration now, but not ideal.

1 - If I leave the ram at stock (2133), I seem to be able to do what I like with the CPU clocks and voltages.
2 - If I leave the CPU at default, I can change ram settings and boot up successfully.
3 - If I change both, the board 99% of the time goes into an endless failed boot cycle before getting to post screen.

Sticking with #2 above, I can get into Windows. Prime95 testing right away I get 4.0 GHz and 1.39v. I then use XTU to change multipliers and voltage offset. In limited testing so far, 4.2 GHz at 1.27v with ram at 3000 seems ok. I didn't go down to 1.25 as sometimes there's a slight dip in the reported value. It would be nice if I could boot straight into this mode, but I haven't found a way to do it yet. Not sure I need to jump through this many hoops to do it.
 
That board, per the specifications, only supports 2400 mhz out of the box. You will need to hit higher memory values manually with bclk I believe.
 
It seems like any other Z170 chipset mobo, in that it supports ram multiplier adjustment, as well as 100 and 133 bus speeds for the ram. That's the reason for Z170 existing. I could have got cheaper chipset mobos if they allowed OC.

Playing more in Intel XTU, it looks like the software and bios might be talking over each other. In short, I can't set a static voltage through the software. If I use adaptive voltage offset, I can get my target load voltage, but then I have a scary low idle voltage of 0.6v! If I try and disable EIST in bios, I lose the ability to change multipliers and am stuck at 4.0 GHz.

Kinda wishing I got another board, not that would necessarily guarantee it would still be pain free. I only picked this one since I had one already with the i5-6600k and it seemed to play nice. I might still try going back a bios version if it lets me (same as on the i5) and see if that makes any difference.
 
I can't remember the exact value but it was around 0.8v. Hence if I use up to -0.2 voltage offset to reduce the load voltage, the idle goes down to around 0.6v! It is currently running real tasks so I don't want to disturb it until it finishes in a few hours.
 
skylakeshootout.png

After much real world testing, I currently have the above summary and results. Now what does that mean?

Some explanation. These are my 3 Skylake systems. Len was the first i7, and I added Lilith as a lower cost i5. The new i7 system is Adam. I've tried to summarise the key clocks and settings (all dual channel ram). I forgot to add to the table, right now the i7 systems have HT turned off so that is not a factor. 4 cores each.

Right down the bottom, are SGS and TRP sub-project unit times from PrimeGrid project. Times are in seconds, and lower is better. SGS are small units. They occupy roughly 1MB ram each instance plus a little code overhead, x4 for 4 cores. So no problem to fit inside the processor L3 cache and ram latency/bandwidth is not an issue. Average times are within 1% of each other, which is to be expected as they're all the same core clock. So far so good.

TRP units are bigger. They take roughly 6MB each, x4 cores = 24MB. Obviously that's much more than the processor cache, so ram performance becomes important at this point. Comparing len and lilith, there's an obvious difference there. Absent other information, I had assumed the i5's smaller cache was responsible. Note the ram is NOT equal here. The 3333 ram I could never get stable, so ran it at 3000. Still, the difference between 3200 and 3000 is <10%, and we're seeing >30% difference in unit times. Could it be latency? I haven't looked into that yet. Buying the new system I named adam was supposed to resolve this. Same mobo, same ram as lilith. Main difference is i7 vs the i5. Simple? Nope. While it is a few % faster than lilith, it is suggesting I was wrong to blame the cache in the first place. However I'm still left with a massive performance gap between len and the other two. Could motherboard optimisations play a part?

Debating what is the next step to test. I supposed one to try is to normalise the ram, and reduce the clock/timings in len to match the others and see if that has much of an impact.

Also, while running these units is what I want to do with the systems, the TRP units do take many hours so it isn't a quick performance test. Ideally I'd need a good benchmark that's relatively quick to run, and ideally is sensitive to ram speed/timings. Is there something free fitting that description?
 
What might be interesting is to take the i5-6600K cpu from from "lilith" and swap it out with the i7-6700K cpu from from "len" and then run your i5 chip with the same cpu/cache/memory speeds as was previously with the i7. Then you could run both "adam" and "lilith" with identical cpu/cache/memory settings as well as the same basic configuration for both of your i7-6700K cpus.
 
My goal is to get the new i7 system running work units in a similar time to my old i7. Recognising there is ram speed difference between them, the current performance difference seems excessive relative to that.

While it would be interesting to move the i5 into my main system, that's a physical job too far as it is water cooled and I really don't want to take it apart to play with it. The best I can easily do is slow down the ram on the fast system and see if it drops to the levels of the other two. If not, then there is some other difference in motherboard settings/performance.

Side note: I tried slowing down the ram in the new i7 even more (to 2133) and work unit times took 15% longer than before.
 
I don't have Aida, well, I did try the trial previously but it has expired now. It didn't make me want to buy it... I'll give it a try on the new system but wont have anything to compare to unless I can dig out the old results from somewhere. I think I noted it down, but finding it is another matter.
 
Maybe... Take the 3200 kit out of the ASUS and swap it with the 3000 (3333) kit from the MSI/6700?
 
Tests are underway with the 3200 downclocked to 3000 and timings to match the 3333/3000.

I might have to downclock the 3200 anyway. It was stable for about 2 months under the last mobo bios. About a week ago I put the latest bios on the Asus with the Skylake bug fix, and since then I've had two bad tasks. I had said to myself in the past not to get cutting edge stuff, as I've had problems in the past. And here I am again...
 
Back