Agreed - the os just sees logical or physical "cores", be it hyperthreaded 2*core or not.  Hyperthreading just invokes an arbitrator in the form of a thread load-balancer and doubles the core count to the kernel in reporting outside the bios at the os level.

I don't believe there is an os dependency really, aside from bios representation and how touchy the os.  Old days, windoze had apm or acpi-based kernels and setup of ntldr from boot that if you changed it, your system would generally blue-screen on boot with a giant fu.  I learned this on my first smp system, a dual celeron hotrod circa 2000, and sadly held true to at least winxp with certain hypervisors if you changed the bios and northbridge arch too much to the kernel.

Linux never cared in my experience, and I barely started using beyond xp with win7 last year to do too much other than increase resource usage as a visio hypervisor.

-mb


On 09/07/2016 08:11 PM, Tom Jones wrote:

Hyperthreading is enabled or disabled at the BIOS level.  The OS just sees more processors.

Multithreading happens within the OS and allows apps to be "spread out" between processors.  It's multithreading you need the libraries for.

Sent from TypeApp

On Sep 7, 2016, at 7:57 PM, Bob Elzer <bob.elzer@gmail.com> wrote:

Here's where I may put my foot in my mouth.

If I'm not mistaken programs have to be compiled with a hyperthreading library in order to take advantage of this.

Or am I wrong?