CHIPMAKER Intel has presented its musings on the effects of hardware and software capabilities on games development.
Talking at the Games Developer Conference Europe, Intel's Jerome Muffat-Merido chose to focus on the lack of parallelism in games code that results in the firm's chips not being put to good use. Merido also mentioned that multi-threading in DirectX 11 doesn't work due to a lack of drivers.
Both AMD and Intel are peddling multi-core processors in the hope that extra cores will increase performance. However, as Merido alluded to in his talk, the vast majority of time those extra cores are sitting idle due to developers still not using multiple threads.
Even when there is parallelism, says Merido, such as the stages within a game's execution, those stages are executed in a sequential manner. He proposes smarter task schedulers that incorporate "task stealing" to use resources more efficiently.
AMD and Nvidia promote multithreading capabilities found in DirectX 11, hoping that it will make use of the hundreds of cores present in their GPUs. Merido's figures show that due to software failings, any actual gains from DirectX 11 remain little more than a promise.
Merido's comments are obviously trying to promote Chipzilla's multi-core chips, however multi-threaded applications are vital if gamers are to see performance gains from the hardware they spend so much to acquire. Developers should take note and start using the hardware that is available. µ
The problem described in the snip below is exactly the sort of problem solved by hardware SpMT (Speculative Multithreading).
Instead of software having to be rewritten to be parallelized, SpMT has hardware run the parallel parts of the sequential code in parallel.
E.g. if the parallel parts of the sequential code are in separate subroutines, fork-on-call SpMT forks threads at the CALL points and runs them in parallel.
E.g. in different loops, fork-on-loop SpMT runs the different loop iterations of the sequential code in parallel.
I myself have worked on doing SpMT purely in hardware, as has Haitham Akkary, formerly of Intel and now of the American University in Beirut. Haitham called his work DMT, Dynamic Multithreading. March Tremblay worked in doing this in Sun Rock, with a combination of hardware and software, although Rock was cancelled.
This situation - expecting software to be rewritten to be explicitly parallel - is very similar to the situation with RISC and VLIW versus the form of Out-of-Order execution that most modern CPUs employ. We know how that turned out. I wonder if we will repeat this history, or if parallel software will magically happen.
QUOTE: <<even
The second paragraph of the article pretty much sums it all up and, yes, the title is missing the word NOT.
Surely the article states that games do NOT push hardware capabilities. Unless I'm going mad that is I get from this that devs aren't writing code that take advantage of multiple cores and mostly they sit idle and that the potential of DX11 isn't used due to lack of drivers?
So surely the title should be "...DON'T push hardware capabilities".
Seriously guys...