I have a Dell xps studio 16 (1645) I7 820qm and was testing it out with a video encoding (handbrake) "test" just to see how the i7 did. I had handbrake configured to run with 6 cores (assuming ht/virtual cores was what it accounted for). I noticed on the 1st pass it was runing at a 30% cpu load across all cores/HT's and the turbo (intels turbo monitor app) showed it "turboed" up to about 2.2ghz. What was odd was on the 2nd pass the cpu usage went to apx 90% but the turbo was off or not registering.
Would this not be where Turbo should be kicking in? A little concerned that when the system was ready for more speed, it didnt get it. Can anyone explain why this is and or if there is a workaround to getting it to work better? Workaround being forcing cores to run at more speed. Would think upping the voltage to the CPU would allow all cores to max out if the heat was properly disapated.
Ill have to re-run using the 3 core setting and see what it does
Thanks,
saridnour
-
You have been allured by the hype. Turbo is meant for single threads. Where one core would get flooded but the other cores sit at low to no usage. In this scenario the cores will be pumped up in speed so the one thread can get more done and the other still say at the low usage. In heavy multithreads your core will run low to no turbos allowing full output from all the cores at stock speeds.
Is there a workaround, that I am not sure of........ -
Why would you want a "workaround?" Turbo is intended to boost the speed of one core that is being stressed while still staying within the recommended heat output; turboing all 4 cores risks frying something, especially in a laptop.
-
-
The question is, was it running at 1.73GHz, 1.87GHz, or 2GHZ (the maximum turbo on 3 or 4 cores)?
-
I forgot to add one note of importance.. doh
. I had handbrake configured to run with 6 cores (assuming ht/virtual cores was what it accounted for). Ill have to re-run using the 3 core setting and see what it does. Ill update my original post to incude this as it sort of broke the whole logic of the question and my concern. Thats what I get for posting as im trying to run out the door.
I would have thought it would shut down the 4th core and go into turbo but if I was to start activly doing other tasks (while encoding) it would wake up the 4th core and shut down turbo.
Another thing I jus tthought of after reading your posts, on the 1st pass cpu usage in task manager showed all 8 virtual cores being used and at an average rate of about 30%. How could this be if turbo was on and runing a 2.2ghz, shouldn't some cores have been odd in this situation???
-saridnour -
Hmm, I'm not sure what it would do with 6 threads, but I suspect that would be a far from optimal situation. It would try to spread the 6 threads over 4 physical cores, which means you can't spread the load equally and you'd be doing the encoding a lot slower that way. 30% CPU load seems much too low for encoding, as well.
-
I was just trying to force it to use 3 cores instead of 4 to test how it handled things. If you have two threads(virtual cores) per core, not sure why it would spread them across 4 cores if I used 6 threads, but guess it could as I do not knowing the logic of how they are managed. Does the logic use one thread per core firstm then go back and use the second thread?
-saridnour -
intels turbo app is buggy.It showed me speeds of 120-130GHz when i was in the overclock section of everest 5.3 in high performance profile.
-
RealTemp is handy. It can show clock speed, load, and temperatures for the CPU all in one. However, I recommend changing the load to "TM Load" (i.e. same as in task manager), or you'll get values that don't make much sense.
If we assume that there are 6 threads, each of which would normally take 10 seconds @ the max 4/3 core turbo of 2GHz, and a physical core with hyper-threading is 20% faster than a physical core without, this is how you would get the job done with 6 threads:
C0/C1/C2/C3:
t=0s: T0+T4@0%/T1+T5@0%/T2@0%/T3@0% (start)
t=10s: T0+T4@60%/T1+T5@60%/T2@100%/T3@100% (cores working on only one thread finish the job)
t=10s: T0/T1/T4/T5 all @ 60% (work spread to all 4 cores again)
t=14s: Complete!
For comparison, this same task would take 16.667s if you used 3 cores rather than 4. On the other hand, using 8 threads on 4 cores, you could get the job done in 12.5s
This is obviously an entirely idealized situation, but the point is you should try to spread the load as equally as possible between the available physical cores (except when there are less threads than cores, obviously - in that case you should disable some cores and hopefully get some more Turbo). -
A comparison of 2Physical cores/4Virtual cores v 4Physical cores/8Virtual cores would be nice, given the 820qm should clock physical 2 cores upto 2.8ghz when running turbo.
-
Yeah I was not trying to limit it to 3 cores to speed up the encode. I was just playing with the proc to see what it did and how responsive it would be with full encode at normal priority. I just expected to see turbo kick in and didnt and see how it handled the last core when it was jsut encoding and when I started using other tasks... thats why I posted here
Still would be nice to have a util to push all cores up to turbo when running plugged in. 4 cores at 3ghz would be nice.
-saridnour -
Well, then you should look at the following test cases:
1 thread - should run on 1 core and turbo up to 3.066GHz
2 threads - should run on 2 cores and turbo up to 2.8GHz
3 threads - should run on 3 cores and turbo up to 2GHz
4 threads or more - should run on 4 cores and turbo up to 2GHz
It's possible you won't reach all of these turbo speeds due to the inbuilt heat and power restrictions for Turbo Boost, but you should look into those test cases.
4 cores at 3GHz would indeed be nice, but that would also eat quite a lot of power, and you would need some really good cooling to stop the CPU from throttling (assuming you don't run into other issues). The whole idea with Turbo Boost is that when you switch some cores off you can clock the rest faster without causing heat/power trouble. If you could clock all 4 cores at 3GHz, you would probably be able to clock 1 core at almost 4GHz. -
Yeah heat would be the killer, just saying it would be nice.
Sure better thermals could be obtained with better compounds and whatnot. But an app that could scale up and adjust based on tdp could be possible. Just because you're running overclocked doesn’t mean that it has to stay at Full speed for long periods. As temps hit a limit, it could throttle back. Could make some lighter weight apps run faster that don’t have such a full load but would benefit from a faster ghz. Again that being that if the core management could leverage all 4 cores at that clock rate vs. turning off cores to achieve the a faster rate. Ideally I would love to at least have 2 cores at 3ghz (or 2.6 like the 620m) at all times (not a turbo mode) and scale up the cores and leverage the clocks accordingly to heat and demand. That would be nice. It would also be nice to see it be able to underclock when on battery again based on demand. Just think it would be cool to have an app like this as part of the power profile and allow it to be customized per user to meet their needs.
It could all be moot and does mimic what it does to a degree, but would be an interesting project
-saridnour -
It's been a while since I read the white papers and attended presentations at Intel developer meetings but......
Whether or not Turbo Boost kicks in depends on a few things
current temps of the cores and the overall cpu package
current fill status of the L1/L2 caches
'trend' of the fill status L1/L2 caches
I think that there are 6 cpu-level parameters (plus chipset, bios, and OS support) but these are the main drivers. The core/cpu temps override ALL other variables. If a core/cpu is already overheated, TB will not kick in. If a core/cpu has overheated because TB has recently completed an overclocking run, then the cores/cpu will be **underclocked** until temps fall under limits.
So, If you have a workload that is tuned to keep the L1/L2 caches full (think sophisticated database engines, scientific processing, AND artificial/synthetic benchmarks) then there is a good chance that TB will kick in frequently, core/cpu temps allowing.
You should be able to imagine that 'ordinary' programs/OS drivers that are not specially tuned to keep those caches full at all times will rarely be able to trigger TB.
You should also be able to imagine that the more frequently TB kicks in, the more frequently TB will **underclock** a core/cpu so as to lower operating temps to nominal.
The third thing you should be able to imagine is that if your hard drive or memory are unable to keep the L2/L3 caches full (as is the case with just about every machine made) then seeing TB actially kick in will be a rare occurance.
There isn't a core/cpu bit or opcode that can be force-set that says "go into Turbo Boost Now!!". It doesn't exist. -
My Core i5-430M stays at 2.53Ghz pretty much the whole time when doing anything remotely intensive, so there must be something wrong with your assumptions there. It even kicked in almost the whole time while I was playing Portal, and Portal really isn't all that intensive.
I don't think the cache limitation makes much sense, because there's plenty of applications that can benefit greatly from higher clock speeds without necessarily filling the cache.
I think the only limitations are the power and thermal limits, and though I've read reviews saying Turbo Boost can often be inactive for desktop CPUs, this doesn't seem to be the case for laptop CPUs.
Unless your system has poor cooling, you won't hit thermal limitations, so I think it's likely that you'll be able to get pretty much maximum Turbo Boost in many situations for laptop CPUs.
I7 not using turbo during vid encode 2nd pass??
Discussion in 'Hardware Components and Aftermarket Upgrades' started by saridnour, May 6, 2010.