This question was asked during the webcast, An Introduction to High Performance Computing: Parallel Computing Issues. The presenter, Tom Lehmann, is theAdvanced Projects Manager for the Enterprise Systems Group training organization at Intel. Here is Tom's answer to the question.
Hyper-Threading Technologyon Intel processors allowsyou to use resources of the processors that aren't being used by the current thread of execution. In some respects it is symmetric multiprocessing, because you've got a virtual processor that's on the same bus as the "real" processor that's hosting it, and if you were to look at, for instance, a dual processor system that has hyperthreaded processors, in most cases programs will look at that and see four processors total. Sothe dual physical processor system becomes a four-processor system virtually. For most of the high-performance computing, hyperthreading may or may not be useful. It's strictly application-dependent, and under those circumstances you may find that for a given application, because of the way that the threads of execution hit the processors, that hyperthreading will actually give you the benefit that it does in many other applications such as just standalone desktop processing. In other cases, if it's a very fine-grained application and the threads of execution that are hitting the processor are almost identical, well, they're going after the same resources, so we don't get the benefits of hyperthreading. It's strictly an application-by-application situation, and you really do have to test it to see whether it's going to give you any significant increase.