hyperthreading



A little while back (8/27/03) there was some discussion about using 
hyperthreading on Intel processors, whether FDS uses this and whether 
it could make the code faster.

For FDS our tests show that hyperthreading (HT) is not much help for 
FDS. Here are the details:

Hyperthreading is an Intel technology that lets an advanced P4 or 
Xeon processor simultaneously pre-fetch, decode and execute integer 
and floating point instructions and execute them at the same time. If 
the code is a 50/50 mix of integer/FP operations, this can 
theoretically double the execution speed through integer/FP 
parallelism. However, FDS is an almost pure floating point code, so 
turning on HT makes very little difference, since the integer 
processing unit's execution speed is of almost no relevance to the 
overall speed of the code.

We've done a few tests on several machines in our Linux farm and 
found that the speed change from turning on HT is almost 
unmeasurable, perhaps 1% or less. It is essentially within the 
run-to-run time variation of repeated runs of the same FDS case.

If you want to run your own experiments, you can do this. HT does not 
require recompilation or a special version of FDS. Typically, if your 
machine supports HT, there is a setting in the boot ROM that turns HT 
on or off. If your machine has this capability, you can turn it on 
and run tests on your own cases.

Our limited data show that HT doesn't help much, but I'd be 
interested in tests from other sources and different cases.

Chuck Bouldin



Date Index | Thread Index | Problems or questions? Contact list-master@nist.gov