[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