On Sat, Dec 27, 2014 at 01:54:02AM +0000, Sturla Molden wrote:
Antoine Pitrou
wrote: I don't see how that's optimistic. Most workloads are intrinsically serial, not parallel.
Computer graphics is intrinsically data-parallel, hence the GPU. A computer with a 128 core CPU would have no use for a GPU.
Or, to put it another way, a computer with a GPU has no need for a 128 core CPU. I think it is more likely that general purpose desktop computers will start using GPUs than that they will start using 100+ core CPUs. Apart from graphics, and some "embarrassingly parallel" tasks, most tasks are inherently serial. E.g. it takes 9 months to make a baby, you can't do it in 1 month by using 9 women or 100 chickens. Even those which aren't inherently serial usually have some serial components, and Amadahl's Law puts an upper bound on how much of a performance increase you can get by parallising it: http://en.wikipedia.org/wiki/Amdahl's_law I expect that the number of cores used by general purpose desktops will increase very slowly. It makes sense for servers to use as many cores as possible, since they typically run many CPU-bound tasks in parallel, but that doesn't apply so much to desktops and it certainly doesn't apply to wearable computers. The idea of a wearable computer using a general-purpose CPU with 100 cores strikes me as sheer fantasy: most of the cores will be idling all of the time, the effect on battery life will be terrible, and the heat generated prohibitive. TL;DR I expect that two or four cores will remain standard for desktop computers for a long time, and one core machines will still be around for a while. Massively parallel computing will remain niche, the GIL is not really the bottleneck some people think it is, and when it is a bottleneck, existing ways of working around it are still very effective. -- Steven