[XviD-devel] Hyperthreading and XviD
Christoph Lampert
chl at math.uni-bonn.de
Wed Mar 9 12:10:43 CET 2005
On Wed, 9 Mar 2005, Peter Maersk-Moller wrote:
> However, YUV-denoising (nonaccel, XMM and XMME) is rather
> CPU intensive so with my current implementation, YUV-denoising
> with XviD encoding of 480x576 at 25fps requires something
> like a 6 GHz HT P4, so for now I have to do with smaller
> video geometries.
>
> Analyzing the load, I noticed that on a P4HT, the load on both
> (virtual) processors is far from equal thus not exploiting
> HT to the its limits.
>
> I tried rewriting my code so the YUV-denoising ran in one thread
> and XviD encoding in another thread, but I observed little
> performance gain and little improvement in equal loading.
>
> Now for my questions. Is there anyone here with MMX/MMXE-knowledge
> that can confirm or deny that HT (Hyperthreading) means
> next to nothing for an MMX/MMXE-intensive application because
> MMX/MMXE is not hyperthreaded ?
Yes. Two things: XviD itself isn't threaded at all, so you won't get any
speedup in the core. Using a multithreaded encoding application like
transcode in Linux will somewhat be sped up though.
Regarding the SIMD, I guess the problem is that HT is not dualcore or
real SMP, but the threads share the functional units on the CPU.
If two (hyper)threads try to use the SIMD unit at the same time, there
won't be a speedup because the SIMD throughput is the bottleneck for both.
chl
More information about the XviD-devel
mailing list