Re: Poor performance with OpenMP

On 2011-01-16, nmm1@xxxxxxxxx <nmm1@xxxxxxxxx> wrote:
However, that wasn't the actual issue being considered in the thread.
It was the benefit of using hyperthreading. If a program that would
run entirely in L1 cache and use no communication gets only a factor
of 1.2, your code would be very unlikely to benefit at all.

My understanding was that the "optimal" use case for HT would be
programs that do lots of independent sequential (pseudo)-random memory
access (something like graph traversal, for instance), such that
execution is bound by memory latency. Note that I said latency, if
memory BW is the bottleneck the situation is, again, different, and HT
will obviously not help if a single thread is able to saturate the
memory BW.

OTOH, if the programs are cache-friendly enough that they essentially
run in L1, then a single thread ought to be able to keep the execution
resources quite busy and HT would be of little benefit.