Any way yet to turn off Hyperthreading on 2009 Mac Pro?

Discussion in 'Mac Pro' started by WonderSausage, Jun 26, 2009.

  1. macrumors member

    WonderSausage

    Joined:
    Jul 3, 2008
    #1
    Any updated CHUD that works on the 2009 Mac Pro to disable Hyperthreading? My encoder only supports 8 CPUs and I think I could get 10-20% better performance without HT.

    It's very difficult to query the ADC site for CHUD, they've really buried it. Perhaps we have to wait for the 10.6 SDK?

    thanks,

    WS
     
  2. macrumors 601

    Tesselator

    Joined:
    Jan 9, 2008
    Location:
    Japan
    #2
    Hey WS..

    I think you're right. And the only way I know of is with the Processor prefs pane that come as a part of the XTools distribution free from Apple.

    http://developer.apple.com/technology/xcode.html You might have to fill out a web-form or something I forget. :)
     
  3. macrumors 6502

    Joined:
    Jun 21, 2008
    #3
    Install XCode off your OS install DVDs. Then I forget where in there you have to go, but in the directories where XCode gets installed, there's a prefs panel executeable that adds a Processor prefs panel. In there you can toggle the HT settings.

    Note: you have to reboot for the changes to take effect.
     
  4. macrumors 603

    Joined:
    Aug 1, 2008
    Location:
    Vancouver, BC
    #4
    Let us know if turning off HT helps. Hopefully it doesn't make any difference. I recall reading somewhere that the task schedular can have sufficient insights into the physical core structure to be able to make smarter decisions about where to assign tasks... eg. to physical cores and not logical ones. Not sure though if this was Windows or OSX. :confused:
     
  5. thread starter macrumors member

    WonderSausage

    Joined:
    Jul 3, 2008
    #5
    No, that's the same Processor prefs that's part of CHUD. It does NOT, repeat does not, affect Hyperthreading on the 2009 Mac Pro. It can only disable physical cores.
     
  6. macrumors 601

    Tesselator

    Joined:
    Jan 9, 2008
    Location:
    Japan
    #6
    Get the newer one I linked you to. Another user here says that there's a "HT Off" menu selection in it when run on HT capable intels.
    Screen shots of it show it listing 16 cores available for disablement as I recall.
     
  7. thread starter macrumors member

    WonderSausage

    Joined:
    Jul 3, 2008
    #7
    Nope... the Processor.prefPane included with Xcode 3.1.3 has not been updated. It's still version 4.7.0 which came out in 2008 (though the created date has been changed to April 2009). Yes, it includes a "Hyper-Threading" checkbox but it does NOT have any effect whatsoever on the 2009 Mac Pro. Activity Monitor still shows 16 CPUs.

    WS
     
  8. macrumors 601

    Tesselator

    Joined:
    Jan 9, 2008
    Location:
    Japan
    #8
    OK, so the noob here that was saying it had that feature was taking the pizz. Sorry about that man.
     
  9. macrumors 6502

    Joined:
    Feb 13, 2009
    Location:
    Montreal
    #9
    Activity monitor will still show you 2X the number of bars, but only half of them are active. Yes you can disable HT on the 2009s. And yes it makes a difference. It makes some things actually run faster. Disabling it brings up the fps 5-10% in some games (effect is instantaneous and measurable), and running HD flash movies in safari is also significantly smoother when running 3 or more at a time on my quad core. Of course, 99% of the time I keep HT on since it doesn't make a noticeable difference in normal use.

    Most non-multiCPU friendly programs will probably run better with HT off until 10.6 with grand central is released.

    Maybe you should actually get your hands on the machine and test instead of assuming.
     
  10. macrumors 601

    Tesselator

    Joined:
    Jan 9, 2008
    Location:
    Japan
    #10
    LOL! All that and you don't say how. TeeHeeHee...
     
  11. macrumors 6502

    Joined:
    Feb 13, 2009
    Location:
    Montreal
    #11
    You click the button in the processor prefs.

    [​IMG]

    Unclicking it clearly stops hyperthreading.

    [​IMG]
     
  12. thread starter macrumors member

    WonderSausage

    Joined:
    Jul 3, 2008
    #12
    http://forums.macrumors.com/showthread.php?t=664724

    Maybe you should read someone's post history before being so rude. Or better yet, just don't be so rude, in general.

    There is no credible evidence that HT is disabled, the processor palette that comes with the prefs shows it disabled but that prefs applet appears to be delusional because there is no performance difference in HandBrake, it does NOT persist across reboots or in Windows (where I really need HT disabled because of some Windows app compatibility), and no other utility confirms HT disabled.

    Here are shots clearly showing both Activity Monitor and iStat Pro indicating 16 cores with the checkbox disabled. iStat Pro is pretty respected.

    This statement conflicts with your second screenshot which shows 8 cores in Activity Monitor. And you don't have both the processor prefs and Activity Monitor in the same screenshot. Shenanigans.

    [​IMG]
    [​IMG]

    WS
     
  13. macrumors 601

    Tesselator

    Joined:
    Jan 9, 2008
    Location:
    Japan
    #13
    Easy enough to find out for sure Mr. Sausage.

    1. Start Handbreak doing it's thing.
    2. Look at any 16-bar CPU meter to make sure all 16 are going.
    3. Then flip the HT switch and watch the CPU meters.

    Happiness is knowing in three steps or less. :)

    But his does show that it works here:
    [​IMG]


    EDIT: Thanks Abidubi! And if you're the guy who showed this before I apologize for falsely presuming sneaky noobishness. :)
     
  14. macrumors 6502

    Joined:
    Feb 13, 2009
    Location:
    Montreal
    #14
    I have about as much time to read through every post you ever wrote as you do to properly test something before making assumptions and announcing them to the world as fact.

    I can't speak for handbrake performance, but it clearly does disable hyper-threading.

    Look at my screenshot again. Notice only 4 of the 8 bars are doing anything. Thats with HT off.

    When you set your computer to single CPU what is handbrake's performance like? Open activity monitor... does it show just 1 single bar? Oh wait, it shows exactly the same number as before, therefore it MUST not be working:rolleyes:. Hmmm, why is everything slower then?

    Ever thought that maybe the # of processors is determined at startup, and therefore the information activity monitor uses to report the number of CPUs is what was known at boot time?
     
  15. macrumors 68000

    Joined:
    Sep 12, 2007
    #15
    It does turn it off.

    On my quad Mac Pro here temperatures DROP by 3-5C when HT is off.

    So go and install the processor pane as it does work.

    And trust me, I have been fiddling with that pane since launch. I can confirm from the change in chip temperatures that it does infact, work.
     
  16. LPZ
    macrumors 65816

    Joined:
    Jul 11, 2006
    #16
    Regarding a 2009 Mac Pro running Snow Leopard (10.6.2):

    1) Can hyper-threading be toggled on-off from the command line?

    2) Can current hyper-threading on-off status be determined from the command line?

    3) How can I set my machine so that hyper-threading-off is the default after a reboot? Currently hyper-threading is always turned on when I reboot, even if I have the appropriate box unchecked in the Processor preference pane.

    Thanks.

    Code:
      Model Name:	Mac Pro
      Model Identifier:	MacPro4,1
      Processor Name:	Quad-Core Intel Xeon
      Processor Speed:	2.26 GHz
      Number Of Processors:	2
      Total Number Of Cores:	8
      L2 Cache (per core):	256 KB
      L3 Cache (per processor):	8 MB
      Memory:	6 GB
      Processor Interconnect Speed:	5.86 GT/s
      Boot ROM Version:	MP41.0081.B03
     
  17. macrumors regular

    Joined:
    Apr 26, 2009
    Location:
    Cambridge, MA
    #17
    Assuming you have CHUD installed.

    You can disable HT from Terminal using this command:

    hwprefs cpu_ht=false

    And enable it using this command:

    hwprefs cpu_ht=true

    You could create an AppleScript that does this and launch it every time you boot, but every time you wake from sleep you'll see that OS X will again re-enable Hyperthreading.
     
  18. LPZ
    macrumors 65816

    Joined:
    Jul 11, 2006
    #18
    Thanks. But now I'm even more puzzled!

    First, I have XCode 3.2.1 and CHUD.

    I am now fairly certain that neither the Processor pref pane nor the command line method actually disable hyper-threading on 10.6 (using either 32 or 64-bit kernels). A check can be placed or removed, or cpu_ht can be set 1 or 0, but it seems to me hyper-threading is always enabled. Here's why I think so.

    I have both a 10.5.8 and a 10.6.2 system on my Mac Pro 4,1. On each system I have identically compiled versions of the chess program Crafty.

    When set to use 8 threads, Crafty is quite sensitive to hyper-threading status. It is measurably slower when hyper-threading is enabled.

    When I run Crafty on the 10.5.8 system, toggling the hyper-threading status in the Processor pane has an immediate effect on Crafty's speed with 8 threads.

    When I do the same thing on the 10.6.2 system, toggling the hyper-threading status in the Processor pane (or from the command line) has no effect on Crafty whatsoever. Speed is slow in both cases.

    I wonder how we can get a definitive answer from Apple.
     
  19. LPZ
    macrumors 65816

    Joined:
    Jul 11, 2006
    #19
    Upon further testing I am convinced that hyper-threading cannot currently be disabled using the Processor pref pane on my 10.6.2 Mac Pro 4,1.

    Is there any way to do this?
     
  20. macrumors newbie

    Joined:
    Jan 21, 2010
    #20
    I too, cannot disable Hyper-threading

    we are running an Xserve cluster (OS X 10.6.1) with Nehalem processors (2x2.8 Quad intel Xeon) and performance is suffering with hyper-threading enabled. I can uncheck the hyper-thread checkbox in the Processor pane, but as soon as I reopen the pane it is checked again. A restart does not work either. I have tried to talk to Apple folks and I don't think they are aware that this is a real problem.
     

    Attached Files:

  21. macrumors newbie

    Joined:
    Jan 21, 2010
    #21
    Apple xserve tech suggestion

    An Apple xserve tech suggested I try setting the NVRAM to 0 with

    NVRAM SMT=0

    then restart OS

    this eliminated the hyper-threading checkbox from the processor preferences pane, but it appears that 16 cores are still available instead of 8, which is what we want. Will test performance later today.
     
  22. macrumors 6502

    Joined:
    Nov 25, 2007
    Location:
    Bellevue, WA
    #22
    This has to be run as root:

    sudo nvram SMT=0

    Otherwise, this is exactly what's needed. Even works with the 64-bit kernel.
     
  23. macrumors 6502

    Joined:
    Jan 6, 2010
    Location:
    ::1
    #23
    really??? replying a thread that is over a year old....
     
  24. macrumors 6502

    Joshuarocks

    Joined:
    Mar 12, 2011
    Location:
    Somewhere in Cyberspace
    #24
    Why would u wanna turn it off?
     
  25. macrumors member

    Joined:
    Apr 5, 2011
    #25
    So making a useless and stupid reply (yours) is a better option?
     

Share This Page