Originally Posted by Twinnuke
Multi- threading physics is very hard. I know, i've tried.
Originally Posted by Artikbot
Yes, there's a limit to parallelization, and in fact many workloads cannot be parallelized at all.
But there's so many things going on in a game that it's a poor excuse not to use separate threads for the most intensive ones.
If parallelization is so hard, why don't they start to utilize latest instruction sets like AVX and FMA at its max throughput capability.
I've read somewhere that AVX is 1024 bit per clock capable. Haswell/Steamroller like CPUs are fully capable of doing this.
Lets imagine max power of a CPU.
For example: A single Core in a Haswell has two instruction decoder. This means two 1024 Bits of data can be processed in a single clock (if software is coded to use max SIMD capability of AVX ).
Theoretically, This will be 2048 bits per cycle ( Yes I know what I am talking about
Now lets say if the core frequency is 3.0 GHz.
[ ( 3000 MHz x 2 transfers per cycle x 1024 Bits ) / 8 bits ] / 1024 = 750 GFLOPS
Yes man its 750 GFLOPS in a single core.
^This Agenda would have eliminated the needs of multiple cores, because many functions could be processed/splitted in thousands of threads in a single core by the kernal/OS much much more efficiently. Lol I'm no developer, this is just my opinion
I may be a fool thinking all this, please correct me if I'm wrong.