MacBook – way to control the clock speed of the GT 650M GPU in a Retina Macbook Pro from OS X

coolingdisplaymacbook protemperature

This is not about gaming performance. I've got that all sorted when booting into Windows.

This is a 2012 version rMBP.

The question is about trying to gain a little more control over the hardware from the OS X-side.

During the summer, the machine runs acceptably cool under typical usage, for example, web browsing, even mp4/h.264 (non-flash) video decoding, etc. I was watching a 1080p Blu-ray rip the other day. Handled it fine.

However, once I plug in my external 2560×1440 display via a MiniDP-to-DL-DVI adapter, the display will only connect if the GT 650M is switched on. I use gfxCardStatus to control whether this Nvidia GPU is allowed to be switched to.

So this is fine, except that now I have to keep the fan spinning at higher RPMs (controlled through smcFanControl, of course), and even with that the temperature reads above 70 degrees C most of the time. It will generally be in the mid 50's to low 60's range when running the integrated GPU.

I know these are not very specific numbers, but the point is that whenever the Nvidia GPU is powered on the machine is producing a lot more power as heat.

According to an app I have here called "BatteryExpert" it draws around 11 watts on integrated and 19 watts with the second screen plugged in.

So my question is how can I see the clock speed of the Nvidia GPU, and how can I adjust it in hopes of cooling it down, but still keep it enabled? I need it to be powered on for the secondary monitor, but it's making the aluminum surface a bit too warm for comfort for typing.

I am able to boot to Windows to run e.g. GPU-Z there to check the clocks, but on Windows I'm not aware of any app that can read out a power draw wattage, so it's a little difficult to corroborate. (I guess I can compare idle temps, though.)

It may turn out to be the case that that ~8 watt difference (which results in the 15+ degree C difference in temperature, and a similar difference felt on the aluminum surface) is fully accounted for by running the 650M at its lowest power level, as it is after all a ~50W unit. I'm not really sure what to think. On the one hand 50W is at 900Mhz under load, and here it should be ~165Mhz ('s what GPU-Z tells me in Windows) idle.

Well I've gone off in the weeds at this point. The question is, what is some monitoring software to show me the GPU clocks? When I tried iStat Menus it did not have a GPU clocks reading.

Best Answer

If you don't need to use the MBP screen while using the external monitor you can disable it using a small magnet.

A small magnet placed on the left side of the MBP keyboard, more or less above where the SD card reader is placed, will make it think that the lid is closed. The GPU will need to do less work to drive just one screen (the external) and use less power, and with the lid still open the airflow will be beter.

I use this on a 2011 MBP, other versions may need to have the magnet placed at different places for it to detect a closed lid. And if you try this, please use the smallest magnet available.