[SOLVED] 3950X Results - Non-intuitive??

wyliec2

Splendid
Apr 4, 2014
199
32
21,890
My 3950x works great for what I do….but I’m having trouble wrapping my head around some data that seems non-intuitive…

I do a lot of video transcoding from ISO to MKV and in the past I’ve had an I7-5960x HEDT which I replaced six months ago with an AMD 3950x.

I tried various OC methods but never came up with anything that made sense – my baseline has comfortable power and temps and every OC would massively increase power and temps while only increasing throughput a few percent – not a good tradeoff for a machine that might run continuously for days at a time.

In any case, I’ve settled with ‘AUTO’ settings for everything other than DOCP for my RAM on my ASUS Crosshair VIII Formula motherboard. The interesting results I see (repeated multiple times) involve running a single Handbrake encode instance versus two concurrent encode instances. Also, these averages are from several to 12+ hour timeframes.

SINGLE HANDBRAKE INSTANCE
69C - CPU Package Temp
1.250v – CPU Vcore
140w – CPU package power
4026 – CPU clock
60% - CPU utilization

TWO CONCURRENT HANDBRAKE INSTANCES
62C – CPU Package Temp
1.104v – CPU Vcore
141w – CPU package power
3832 – CPU clock
98% - CPU utilization

I realize that with the single instance, voltage, temp and clock speed is increased due to lighter loading of cores – this is expected Ryzen behavior.

The part that challenges my logic is – with two instances I get:
23% MORE work done (measured by output completed)
Lower average CPU temp
Lower average CPU voltage
Same average CPU power consumption

My brain keeps saying it isn’t logical to get more work done without more power and with lower temps and voltages…
 
Solution
This likely mostly comes down to processor cores drawing disproportionately more power as clock speed increases. As a core nears its limits, increasing clocks by another 0.1 GHz requires significantly more power than it does at lower clocks, and that core will in turn be putting out a larger amount of heat. For light to moderately-threaded tasks, this can get more work done faster within the limits of what the processor can do when not all cores are being utilized.

And on that note, Handbrake isn't using all of your processor's available threads when only a single instance is running. I believe Handbrake tops out at 16-threads by default, so a lot of your 32-thread 3950X's resources are going unused. So with a single instance...

wyliec2

Splendid
Apr 4, 2014
199
32
21,890
These results had been bugging me for a week or so – thinking that getting more work done should necessarily show up as requiring more power and producing higher heat and temps. This was very true on my 5960x – two Handbrake instances would push temps to a point where I was hesitant to leave them running for extended periods of time.

After finally collecting my thoughts, making this post and then mulling the topic over this afternoon, the simple answer finally popped into my head….EFFICIENCY.

The algorithms to distribute and process a workload along with the resources to accomplish work are simply more efficient with two concurrent instances of Handbrake running.

I use Aida64 to monitor the statistics and the graphs between single and concurrent instances are quite different. Single instance, while power use is largely a straight line, voltage, temps, CPU% and clocks constantly fluctuate – temps spikes to mid-70C momentarily. On the other hand, the concurrent graphs are steady-state lines with very minute ripples.

I’ll happily load up my 3950x with concurrent sessions knowing that I’m getting more work done while being gentler on my system….it’s now been running Handbrake for over 48 hours – the last 30 hours with concurrent sessions.

FWIW – the 3950x finishes two concurrent encodes in less time than my OC 10700k finishes a single encode. The 3950x is fantastic in this setting!!

I know most of the focus here is on gaming but I'd be interested in other thoughts or experiences in productivity scenarios.
 

alexbirdie

Respectable
My brain keeps saying it isn’t logical to get more work done without more power and with lower temps and voltages…

The more duty, the less Mhz of the cores. Therefore the stock-TDP of about 140 W is hold constantly. And the less the Mhz, the less the voltage ----> temperature does not increase too much.

In few tests ( here in toms or in igorslab.de) during a 3950x-test they made the experience, that most current, voltage and therefore temperature was detected, when only 10 cores are used heavily.

This seems to be a kind of sweetpoint. When using more cores than 10, wattage, temp etc. decrease because of lower Mhz,.... etc.
 
This likely mostly comes down to processor cores drawing disproportionately more power as clock speed increases. As a core nears its limits, increasing clocks by another 0.1 GHz requires significantly more power than it does at lower clocks, and that core will in turn be putting out a larger amount of heat. For light to moderately-threaded tasks, this can get more work done faster within the limits of what the processor can do when not all cores are being utilized.

And on that note, Handbrake isn't using all of your processor's available threads when only a single instance is running. I believe Handbrake tops out at 16-threads by default, so a lot of your 32-thread 3950X's resources are going unused. So with a single instance running, you'll have something like 16-threads operating at higher boost clocks, but the other threads will be sitting around idling. The cores that are active will be drawing more power and seeing higher temperatures due to the higher clock rates. With two instances of the software running, a similar amount of power might be used in total, but that power should be divided more evenly across all cores, so while the processor may be drawing a similar amount of power and putting out a similar amount of heat, it should be spread more evenly across the chip (or between the two chiplets in a 3950X), resulting in any given core seeing lower temperatures.
 
Solution
OP's observations are true. AMD pretty well balanced that processor. I'm glad someone is actually using it for work that can properly utilize the cores. It's true you won't get much benefit from traditional overclock without blistering thermals and dimming the lights in the neighborhood. You could leave it at stock, or see if you can use a negative offset voltage to undervolt to increase efficiency. Or increase performance with some PBO tweaks without raising thermals and power consumption drastically. It really all depends on how fast you need those renders completed. Of course getting that Fclock increased will help those cores communicate more effectively so it is good that you did do that.