View Full Version : GPU programmability
as you all know, GPUs are becoming more and more programmable. But something has got me confused. GPUs are massively parallel processors, but are still easy to program, but if you look at articles about programming of multicore CPUs, they say that multicore CPUs are very hard to program. So let me make it clear, how are multicore CPUs less programmbale than GPUs, which are much more parallel.
To make it simple : GPU are working on a kind of problem known as embarrassingly parallel problems. Rendering is parallel by nature : you're doing the same work on a lot of vertices or a lot of pixels and they all can rendered independently.
Doing rendering on a lot of CPU isn't hard neither, it has been done before and it is still done on render farms with hundred of CPU (think Pixar), what IS difficult is to find a way to parallelize an algorithm which doesn't offer such an obvious parallelism and to gain performance in the operation.
Yup. If you have a CPU problem where you have a lot of independent pieces that don't communicate with one another at all, it's just as easy to parallelize over many CPU's.
The problem with making good use of multicore processors is basically that it can be challenging to find algorithms that parallelize well and make games better too. I personally expect that as time moves forward, we'll have more and more game libraries that make good use of multiple processors, and as developers get used to using these libraries, they'll develop content that relies more upon having more CPU's than having one fast CPU.
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.