Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Permanently disable hyperthreading

I am a software engineer with a startup that makes a mathematical optimization system (linear and integer programming). Our software is already multi-threaded, and it runs much faster when hyperthreading is disabled. This is true on all platforms we've tested, including the 2009 'Nehalem' Mac Pro.

In OS X, I know you can temporarily disable hyperthreading through the Processor preference pane, as well as through the hwprefs command in Terminal. However, hyperthreading is turned back on if you resume from Sleep or reboot OS X. And worse, I cannot figure out how to disable hyperthreading if I boot into the 64-bit kernel.

Bottom line: is there a permanent way to disable hyperthreading on the 2009 Nehalem Mac Pro? On a Windows or Linux system, I know that I can disable hyperthreading in the BIOS; I'm looking for something equivalent for a Mac Pro. Thanks.

Mac Pro, iMac, MacBook, iPhone, AppleTV, several iPods, Mac OS X (10.6.1)

Posted on May 4, 2010 1:04 PM

Reply
7 replies

May 4, 2010 1:37 PM in response to gglockner

Maybe Intel can help. If it was my software, I'd offload to GTX 480s, use CUDA/GPGPU and look into the OpenCL APIs which now that 10.6.3 is out have some support, and find out why HT presents a problem (I've seen other reports but attribute it to compiler and older code).

Mac Pro and EFI is a "closed" platform, so even running Windows on Mac Pro isn't a solution.

May 4, 2010 1:41 PM in response to The hatter

Thanks, but GPU computing is not the solution. Besides which, we know that the code runs faster on dedicated Windows and Linux boxes with comparable Nehalem processors (Xeon/i7) when we disable hyperthreading. We're simply looking for how to do this on Mac OS X besides the two methods I mentioned above, which are only temporary and appear to be non-functioning when running the 64-bit kernel.

May 4, 2010 3:29 PM in response to gglockner

You're aware though of how effective CUDA is for compilers, computational and scientific and anything parallel I would assume.

I constantly hear about linux performance being better, and I think Windows 7 has eliminated a lot of issues and better optimized.

And then, software development 101 is here:
http://discussions.apple.com/forum.jspa?forumID=728

Intel works closely with, and has updated their compiler libraries but then it takes time to actually learn how to use, and I often get the feeling developers are being pulled away to work on the latest iGadget and iOS and a really optimized Mac OS X for Nehalem etc once Snow Leopard is put to bed - is further out and lower on priority.

May 11, 2010 4:33 PM in response to gglockner

I discovered a way to do this a while back. In Leopard, there were two different ways to do this.
http://discussions.apple.com/message.jspa?messageID=9818633

Hopefully, this information is still relevant in Snow Leopard. And here's a breakdown:

+*Method 1:*+
CPUPalette - Library > Application Support > HWPrefs > CPUPalette

+*Method 2:*+ (my preferred method)
Processor.prefPane - Developer > Extras > PreferencePanes > Processor.prefPane

Permanently disable hyperthreading

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.