Hello,
Video creation software is completely different. They do a lot of math *per pixel* (it means that lots of FPU operations are needed for single pixel), for
example many algorithms use 8x8 pixel blocks 64*(4 bytes per pixel)= 256bytes and do complex transform such as cosine transform. It means that lots of FPU
instructions are done on very small blocks of memory that completely fit on Level 1 CPU cache and thus they are not able to saturate memory bandwidth. They
literally do dozens of FPU ops per single RAM access. In fact they barely need to touch RAM at all. It is completely opposite to how AFL works, where there is
usually 3 times more memory accesses (2 reads + one write) than FPU operations.
And yes I do know what processors are on the market. In fact I do have i7 (6
core) (I am writing this post using it).
The only reason for multi threading in case of AFL would be not speed but
asynchronous/parallel execution (ability to run AFL that takes long time in
parallel
(without blocking) other AFLs).
Best regards,
Tomasz Janeczko
amibroker.com
On 2010-08-22 01:19, TA wrote:
TJ
On many occasions you have written that the reason that you have not implement multicore usage in AB is that single symbol data saturates the on-die cache
and memory bandwidth. The tests that I have seen for video creation shows the apps that take advantage of multicore processes finish the tasks faster. Do you
know why that is? Do you know why AMD & Intel are creating six core cpus (soon 8 core cpus)?TIA