Peter Shenkin <[log in to unmask]> wrote:
We discovered recently that our x86 executable runs at 60% Linux speed on Windows (on the same hardware) when hyperthreading is turned on.

When hyperthreading is turned off, the speed on Windows is the same as on Linux.

We are using the Intel Fortran compilers, version 9.1.

Does anyone have any insight into this?

Thanks,
-P.
More typical is a 5% reduction in overall performance with HT on linux, 15% on Windows, for a single socket dual core platform running an HPC application.  Maybe if you have a dual socket platform, with a current linux scheduler, the situation you describe could be typical.  HPC performance with HyperThreading suffers from poor affinity and frequent thread/process shuffling. linux schedulers have improved over time.
If you take advantage of the vectorization capabilities of current compilers, on an efficient HPC application there is little idle time where the second thread could kick in, as it does in certain database applications which are full of TLB misses.
You may have noticed there are no HyperThread platforms currently marketed for HPC.
Did you get any improvement with
set KMP_AFFINITY=compact
?