Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

sennomulo

macrumors member
Jul 18, 2018
81
102
Short answer, I'm definitely keeping it.
Long answer, I had bought another laptop that I returned, partly to see if apple releases a new laptop. That was fine in many respects, but it revealed to me what I'm missing with the apple experience. I raise that now, because if I return the MBP, what will I get? Dell? They're dealing with similar throttling issues. Razer (That's the one I bought), its a good laptop, but it runs hot as well. Any Coffee Lake CPU has varying levels of temperature issues. The benefits of the MBP outweigh the negatives and while the throttling could have been a show stopper, I have a workaround that provides a good balance of performance at decent temps :)

I'm curious as to what your settings are exactly. I'm considering the 15" base model.
 

MacRS4

macrumors 6502
Aug 18, 2010
333
473
London, UK
For what it's worth even spending an afternoon with this unit so far I think it'll be going back.

It doesn't feel anything like as fluid to use as my 2017 unit, with or without those earlier modifications. Using a Windows Parallels VM that works brilliantly on the 2017 unit is all kinds of jumpy on the new one.

How odd, and also completely disappointing. Still, that's 3.5k back in the bank.
 
  • Like
Reactions: CE3

dof250

macrumors regular
Jun 3, 2014
220
136
For what it's worth even spending an afternoon with this unit so far I think it'll be going back.

It doesn't feel anything like as fluid to use as my 2017 unit, with or without those earlier modifications. Using a Windows Parallels VM that works brilliantly on the 2017 unit is all kinds of jumpy on the new one.

How odd, and also completely disappointing. Still, that's 3.5k back in the bank.
Could it be that there's something wrong with the VM? My VM's are buttery smooth and even if the i9 would perform a little les then an i7 running a few VM's should be no problem... Even my dual core i5 could do those tasks without a hickup
 

MacRS4

macrumors 6502
Aug 18, 2010
333
473
London, UK
Could it be that there's something wrong with the VM? My VM's are buttery smooth and even if the i9 would perform a little les then an i7 running a few VM's should be no problem... Even my dual core i5 could do those tasks without a hickup

It's possible. I'll build a fresh one. This is just a straight copy of the one that works just fine on the 2017 i7. I've reduced the resource allocation and it seems to have helped somewhat.

I do prefer the keyboard on this new one. Far, far quieter than my clackety old 2017!
 

crinkleshoes

macrumors newbie
Jul 23, 2018
3
1
I find that sometimes with copying VMs... shouldn't happen, but does once in a while.

Recommend building a new one to test... hopefully the issue goes away.
 

winterny

macrumors 6502
Original poster
Jul 5, 2010
433
239
Btw, I was looking at it and I don't think this is Intel's default. Intel docs say that the default is CPU's TDP. Rather, what I think is happening is that Apple has chosen an arbitrary large TDP numbers to remove all restrictions from the CPU, so that the thermals are the only limit. And since no CPU so far was actually able to pull that much power, this has worked well for them and gave them decent CPU performance.

However, they most likely "missed" the fact that Coffee Lake (and i9, particularly), can draw 100W or even more, which is well beyond what the power system can supply. If my guess is right, this is just sloppiness. Not the first time it would happen...
I agree that you are probably right here.

Fortunately, its not difficult to fix. They can set the limits to what the VRM can handle (Apple probably knows it better), which should fix power throttling and make the performance more consistent. I sincerely hope for a quick patch.

Unfortunately, even if they adjust the MSR settings to the appropriate limit for the CPU, it will leave no power budget for the GPU.
[doublepost=1532369442][/doublepost]
Tbh, I think this is great news but are those specific settings for the i7 2.2GHz? I've I have to plug in a string of hex numbers, I want to have full grasp of what its doing and I don't. I'm not knocking the OP, he did a great job, and I'm not down on the solution but I'm hesitant to alter a setting on the CPU with a string of numbers that may be meant for a different CPU on mine.
These settings *should* be fine for any 2018 15" MBP.

The limiting factor is the power delivery system which is almost certainly identical for all systems.

If you are extra cautious, just do the read command and see if it is exactly the same as the results of the read command from the i9. If it is, it's safe -- because you are lowering the limit.

If the read command shows something different, post it here, and I can tell you what it translates to.
[doublepost=1532369506][/doublepost]
Voltage Shift stresses the VRM more than Volta does because Voltage Shift allows in this case the CPU to take full advantage of the turbo boost for the first few seconds.

Both software stress the VRM much less than Apple default settings do.

Agreed on all parts here.
[doublepost=1532369588][/doublepost]
op, did you try undervolting with VoltageShift ?
You can't undervolt.

Apple locked those MSR's on the 2016 2017 and 2018 MBP. It might be possible to hack around, but I'm sure that's a long rabbit hole to figure out.
[doublepost=1532370086][/doublepost]
@winterny You are awesome!

I implemented the solution that you had, but I am getting significantly worse performance.

On average I get much higher temperatures than you.

When PL1 time is 8 I can see the throttling kick in before it sets to PL2 which results in a score of 990 for the first run. When setting the PL1 time to 7, it improves to ~1050 but still temperatures quickly rise to >95C and the frequency in PL2 with the 49W limit is ~3.1. Also that does not give me consistent results, since when I run it with the same settings (7sec PL1) it can still throttle and go into this oscillatory pattern. All this is with the fans maxed out and an ambient temp of 82F.

I wonder if the problem is the ambient temperature, or the variability across i9/VRM chips.

Any ideas?

My next step would be to add thermal pads on the VRM and heat pipes to get some of the heat dissipate through the base.

Thanks again for all the effort!

By the way, when I run the updated Volta app with a 55W limit I get a similar score of ~1050.

Sounds like either your ambient temps are higher than mine, or there is a "silicon lottery" on the VRM's.

I was testing at ~76F, 45% RH, on a desk, plugged in, battery at 100%.

I'm surprised that yours can't even manage 7 seconds of boost when mine can do 8. If you like, I can do the math for you to give you the values all the way down to 1 second?

I'm also very interested to hear your results with thermal pads.

Also, With a volta app limit of 55W, it is steady state, so it will probably handle a moderately long burst as it heats up the VRM, but if you run a sustained workload (eg: encoding a big 4K video), it will probably start with the oscillation pattern of throttling.
[doublepost=1532370190][/doublepost]
Would be nice to test all three processors with 55W and 49W
55W will work for moderate length bursts, but it will probably not work well for long-running tasks that max out all cores (eg: 4K/1080p video encoding).
 

kotlos

macrumors member
Mar 20, 2017
57
50
Thanks, I will try again with a lower ambient temp and if I cannot get it close to yours then I guess I was not lucky with my lottery ticket. In that case I might try to replace it with another unit before trying the thermal pads, in case I can get a better chip.

Do you think it is possible to get an idea about the chip quality by the W/GHz ratio under non-throttling temperatures?
 

abn5x

macrumors member
Jul 21, 2018
47
45
@winterny so that lock on voltage is a hardware lock or more like a software? what I want to say is if in Windows would it possible to undervolt ? If it is possible than, that must mean that is a software lock, isn't it ?
 

MRrainer

macrumors 68000
Aug 8, 2008
1,534
1,117
Zurich, Switzerland
Well, I don't have a 2018MBP - but it looks like the engineering team @Apple has their work cut out for them.

I imagine that in one of those Youtube flyovers over the new campus at night, you can see a few offices with people still working. That'll be the MBP team.

As seen from the few examples here, it will not be easy to get the values right for everybody.
 

winterny

macrumors 6502
Original poster
Jul 5, 2010
433
239
@winterny so that lock on voltage is a hardware lock or more like a software? what I want to say is if in Windows would it possible to undervolt ? If it is possible than, that must mean that is a software lock, isn't it ?
Most likely it is locked by the EFI BIOS. Technically "Software", but that software loads before the OS does, so it won't matter if you are in Windows or OSX.
[doublepost=1532371335][/doublepost]
Thanks, I will try again with a lower ambient temp and if I cannot get it close to yours then I guess I was not lucky with my lottery ticket. In that case I might try to replace it with another unit before trying the thermal pads, in case I can get a better chip.

Do you think it is possible to get an idea about the chip quality by the W/GHz ratio under non-throttling temperatures?

If you are trying to compare VRM's ...

1) Put two machines side by side (but not too close that their heat transfers!)
2) Install Intel Power Gadget
3) Start up Power Gadget
4) Let the machine fully boot, and then settle to idle CPU load for a couple of minutes, and let the CPUs settle at their lowest temperatures.
5) Fire up Prime95 "torture test", and see which can hold the boost speeds for longer before VRM throttling.


If you are trying to compare CPUs, yeah, comparing the W/GHz ratio with the power clamped to the same setting on both machines will probably be the best measurement.
[doublepost=1532373072][/doublepost]Here are the timing values down to 1 second:

6 Seconds: 99
5 Seconds: 59
4 Seconds: 19
3.5 Seconds: D7
2.5 Seconds: 57
2 Seconds: 17
1.5 Seconds: 95
1 Second: 15
 

larrychen16384

macrumors newbie
May 23, 2014
2
0
Vancouver, BC, Canada
Does anyone know if this might be an issue to consider on a 2016 15" TouchBar? By my observations in iStat, the CPU will hit 100 degrees C and thermal throttle and settle at about 42-45W for the package. As such I doubt the power limit is the problem. The VRM does get rather warm because the ventilation opening to draw cool air from the hinge directly to the VRM inductors and MOSFETs present in the pre-TouchBar units is removed in these units. Consequently the airflow, following the path of least resistance, is unlikely to cool the VRM significantly and most of the heat is probably conducted to topcase/keyboard assembly.

My friend who runs the blog Brad's Hacks did some testing with a MateBook X Pro. Previously, when he increased the TDP from 15W to 30 or so, the system would shut down due to VRM thermals, but I suggest him to try heatsinking the VRMs to the thin heat spreader sink plate shared by all the chips using some thermal pads. I didn't believe it at first but apparently this was sufficient to keep the system running.

I'm not sure if the MacBook Pro has a VRM temperature sensor or if it is using a firmware model. If it's using a VRM temperature sensor, I suppose if someone were to attempt to hack their own heatspread plate/heatsink to bottom case using soft thermal pads they could significantly boost the performance of the machine. Furthermore, if you can buy some of that pyrolytic graphite stuff from Taobao (literally translate 'graphite cpu heat sink' into Chinese) which has something like 1600w/m*k conductivity and possibly, with the right electrical insulation, tape that onto the VRM parts to spread the heat away, it could work out rather well. At 100W power usage of CPU, theoretically, at 90-95% efficiency the VRM need to dissipate about 5-10W of heat. This is similar heat load to the iPhone, using the same heat dissipation method (aluminum case+graphite tape). The 12 inch Macbook can dissipate using the small aluminum area under the motherboard taped with the graphite as well, and it runs ~10W tdp constantly.

Either way, that was just my opinion on stuff I'd personally try if I had one of these things. I can do some testing if there is interest on a 2016 system but I don't have the new one so can't speak for the new generation i9 CPU.
 

chars1ub0w

macrumors regular
Jun 5, 2017
149
67
Here, there and over there
If Dell sold their 15" with Ubuntu factory installed I would buy that. But they only sell the 13" with that option and I don't want to spend time hacking a 15" to make ubuntu work. And the 13" would not give me 32GB RAM or hex core - both of which I want. So Win10 puts me off the 15". Which leaves me without a decision and this topic sucking up ever more of my time :D:D

It's quite easy to put a debugged Ubuntu 18.04 LTS on the XPS 15" 9570 yourself. I have it running on mine. Can also boot the pre-installed Windows 10. There are step-by-step online guides, just Google 9570 Ubuntu.
 

shavou

macrumors member
Jul 21, 2018
30
6
Hello all,

tl;dr ... I found the magical command which makes my i9 MBP capable of Cinebench scores of ~1100 on the first run, and 1000-1100 on each successive run, without throttling even if I run it back-to-back-to-back-to-back.

Like many here, I've got an i9 2018 MBP, and I've also experienced the throttling as others have seen.

As you may have read on other threads, the ultimate root cause of the very bad performance drop during the throttling is not thermal throttling of the CPU, but rather power throttling of the VRM (voltage regulator module), being unable to satisfy the power desires of the i9 CPU.

When the VRM maxes out (overheats ... but this is different from CPU thermal throttling), the motherboard sends a signal to the CPU to drop it's speed to minimum (800Mhz) to allow the VRM a chance to cool down. The CPU then returns to it's previous desire to pull maximum power, spins up to high turbo speeds, and the cycle repeats again. When the CPU keeps switching from Turbo to 800Mhz, it is in a very inefficient state, so the amount of work being done relative to the amount of power drawn decreases.

I'm not giving Apple a free pass on this, and wholeheartedly agree with others that such tuning should not be necessary for users to do, but, if you have one of these machines and would like to mitigate the situation, you do have an option.

Warning: To do this, you will have to put your system in a "custom" SIP (System Integrity Protection) state to allow unsigned KEXT (Kernel Extensions), this reduces security on your system somewhat, but this is at least not completely disabling SIP.

Warning2: If you do this, and it damages your laptop, and Apple does not cover your warranty, that is your own problem. You are doing this at your own risk. With that said, In my personal opinion, the default state is actually more damaging to the laptop than this custom state (As you will see below).

1) install https://github.com/sicreative/VoltageShift

2) CHANGE DIRECTORY to where voltageshift was installed (you can't just run it with a full path in the command line, there is a bug in it which makes it require you actually being in the directory and writing ./voltageshift ... not ~/voltageshift/voltageshift)

3) sudo chown -R root:wheel VoltageShift.kext

4) ./voltageshift read 0x610

RDMSR 610 returns value 0x4283e800dd8320

I'll translate what the important bits here means:
MSR 610 is the MSR_TURBO_POWER_LIMIT
Hex 3e8 == 1000
1000 / 8 == 125
This means that PL2 (Power_Limit_2) is set to 125 Watts. Power Limit 2 is the "Turbo Boost" limit.

Hex 320 == 800
800/8 = 100
This means that PL1 (Power_Limit_1) is set to 100 Watts. Power Limit 1 is the "Steady State" limit, ie: how much power the CPU is configured to try and pull for extended periods of time.

The math for the timing variable is complicated, so just take my word for it, but:
Power_Limit_1_Time ...
dd = 28 Seconds.

So, Apple has shipped the i9 Macbook Pro to 125 Watt Turbo for 28 seconds, 100 Watt Steady state.

I've spent a few hours testing at many different draw rates until I could find the rate at which the VRM does not max out, for my machine, that is 49 Watts. Note that this does not include power draw for other accessories (ie: the GPU), so if you are drawing heavy power using other chips, you might need to set the limit lower than 49 watts.

I've also spent a few hours testing the maximum amount of time you can draw in Turbo from the VRM without maxing it out, and for my machine, it is 8 seconds.

So, putting this all together ...
49 * 8 = 392
392 in hex is 188

Like I said earlier, the time values are complicated, so just take my word for it, but ...

D9 = 7 seconds.

1B = 8 seconds.

9B = 10 seconds.

[...]

DD = 28 seconds. (default)


Compiling this all together leads to the CORRECT MSR for this machine:
0x4283E8001B8188

5) And you can set this using this command:
./voltageshift write 0x610 0x4283E8001B8188

Note, this gets overwritten every time you reboot, so if you want to set this, you will need to do it on boot. I'll probably write up a launchd script to do this.

In my opinion, Apple seriously screwed up here. The testing that I did was easily within Apple's capabilities, and it is highly irresponsible of them to ship these machines out this way. As far as I am aware, the MSR is set to the intel's default ... and clearly Intel expects that if you are going to use this default, you will have a machine capable of delivering 100 Watts of power steady state. Intel does not expect that you must have thermal capabilities of shedding those 100 Watts, as the chip will thermally throttle if it reaches TJunction (100C), and that thermal throttling would not be nearly as painful as this type of VRM throttling. Most likely, if Apple wanted to handle things that way, they could have figured out a way to attach the heatpipe to the VRM. Even if they did not want to handle things that way, they should have reduced the MSR value from the factory to something that the VRM is actually capable of delivering (ie: My settings).

The good news is that these settings increase the performance by at least 20% (and possibly much more depending on the workload), and Apple can adjust this setting (or handle the VRM overload using other power management logic). Even if Apple doesn't, you as a consumer can do this yourself.

The bad news is that it's clear that this i9 chip can probably do signifigantly better if it were driven with a better VRM (and had adequate cooling as well), and could probably get 20-25% faster speeds than with my settings if the power system were up to task. There is no way that Apple can get that additional gain with the current hardware design, short of a recall to change out the heatsink to something that cooled the VRMs, and replace the thermal paste with something like Liquid Metal. It's pretty clear that there is no additional space for bigger fans, so apple's options here are very limited.

The even worse news: If apple does nothing, and you do not change the MSR settings, when your system throttles this way and alternates back and forth between 800Mhz and full-Turbo, it is putting an EXTREME load on the VRM ... This will almost certainly shorten the lifespan of the VRM causing early logic board failure.

If anyone has a 2018 15" MBP with the i7 2.6 chip, I'm very interested to hear what the default MSR settings are for that chip, and also how Cinebench scores look with my tuned settings. These tuned settings should be acceptable for any 2018 15" MBP.

Of course, as I said above, if you have a heavy GPU load, this does not leave any budget for that, so you will need to adjust your settings accordingly (and that's homework for you -- I don't use my GPU in heavy sustained workloads ever). Also, these settings assume reasonably sane cooling environment ... Ie: sitting on a desk in an air conditioned room. If you are testing this outdoors at 100F, I'd assume you will still get VRM throttling. If you are testing in a freezer, or outdoors in the wintertime ... you might be able to get more than 49W steady-state.

Edited to add:

If you want timing values shorter than 7 seconds ....
6 Seconds: 99
5 Seconds: 59
4 Seconds: 19
3.5 Seconds: D7
2.5 Seconds: 57
2 Seconds: 17
1.5 Seconds: 95
1 Second: 15

@winterny

This is an amazing finding!! I’ve been reading all the possible articles and discussion on this matter...I’ll get the i9 delivered this week an I was 99% sure it was going back to Apple until I came across your post. Thank you very much, amazing job!


Now, I’d like to ask you a BIG favour if possible. Would you be able to do a video with the step by step instructions on how to do this? I’ve never done anything like that before and honestly speaking I wouldn’t even know where to start from!


I am sure so many of us would benefit from this.


Is it something you can do?


Super many thanks in advance
 

Lennyvalentin

macrumors 65816
Apr 25, 2011
1,431
794
when your system throttles this way and alternates back and forth between 800Mhz and full-Turbo, it is putting an EXTREME load on the VRM ...
VRMs are built to handle rough treatment. They have to, considering how modern CMOS processors work. In say a modern high-end GPU you can go from low-power mode drawing perhaps 1A off the VRMs to full bore top speed drawing 300A or possibly more within milliseconds. If that was damaging to the VRMs you'd wear them out in no time at all.

So I wouldn't worry about the VRMs. I'd be more concerned about the battery, if the CPU is actually drawing 100 watts, possibly as much as 125W singlehandedly. Then you have VRM losses (10 percent or more), other chips and devices in the system (GPU, platform controller, T2 chip, thunderbolt controllers, flash, RAM, camera, audio codec and amps, screen and backlight, touchpad, vibration motor, random bits and pieces...)

You could be looking at maybe 150W peak draw from the battery with screen at full brightness and speakers roaring. That can't be good.
 

karanlyons

macrumors member
Jul 20, 2018
41
13
I think the concern is not the rapid change in load in the VRM but rather the potential lack of adequate cooling for it.
 

Lennyvalentin

macrumors 65816
Apr 25, 2011
1,431
794
Furthermore, if you can buy some of that pyrolytic graphite stuff from Taobao (literally translate 'graphite cpu heat sink' into Chinese) which has something like 1600w/m*k conductivity and possibly, with the right electrical insulation, tape that onto the VRM parts to spread the heat away, it could work out rather well.
Ugh, graphite... It's electrically conductive! :) No. I wouldn't recommend this, especially in a laptop. You get any graphite fragments or dust loose inside, you could get all kinds of problems with intermittent weirdness caused by random shorts, or even permanent damage. And since it's a laptop, any hard knocks or bumps could potentially create dust or fragments.

So risky risky! It's a $3k something laptop. But hey, if you're made of money, go right ahead lol... ;)
 

DeepIn2U

macrumors G5
May 30, 2002
13,051
6,984
Toronto, Ontario, Canada
Screenshot on left is of Power Gadget with 3 back-to-back Cinebench's.

Screenshot on right is of Power Gadget after 2 minutes of Prime95 with "In-Place Large FFT" Torture test.

Notice on the Cinebench screenshot how there are nice perfectly symmetrical dips in the power graph when it stops for a second before I click it to run again, with the dip perfectly lining up to the spike immediately after ... This is what turbo is supposed to do, allow you to use the budget of power which was not used in recent time ... Not just haphazardly spiking up and down as the VRM is maxing out.

You man of the day!

PS: having a tough time figuring out what your title of this thread is supposed to finish saying. Any chance to update your original post with the full thread title, pls?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.