Big advances in parallel programming are needed for general-purpose computers to use the full power of multi-core processors, Intel star technologist Pat Gelsinger has admitted.
He said the performance of chips processing one task thread at a time was improving by just 10 per cent to 15 per cent per generation, whereas parallel performance could be at least doubled.
Much of this parallel power would go to waste if applications were to remain predominantly single-threaded. "We have to make some breakthroughs here," said Gelsinger, vice-president of Intel's digital enterprise group.
There were still ways to deliver value with multi-core, he told a press teleconference. "There is parallelising of run-time environments, there are improvements in autogenerating parallel compilers, there are improvements in things like virtualisation environments, where each OS and application can be single-threaded, but the aggregation of that workload is a multithreaded."
There could also be very good results targeting inherently parallel operations such as graphics, and databases and web workloads on servers. But Gelsinger went on: "We really do need to continue to offer new programming environments. And the good news is that we have made real progress in the areas of parallel tools and support."
He made no reference to programming guru Donald Knuth, who said recently that the multi-core computing could turn out to be a dead end, and described as a pipedream the belief of hardware vendors that a coding magic bullet would come along to help harness parallelism.
But at one point, talking about the massively parallel Cell processor used in the PS3 games console, Gelsinger came close to echoing Knuth. "The problem that we see over and over again in computing is that a cool new idea [comes along] that promises a 10x or 20x improvement but you just have to go through this l ittle orifice called a new programming model.
"And those orifices have over and over again in the computing industry proved insurmountable as the general-purpose computing models evolve into the future.
"I hold out the example of Cell that promised to be this radical new computing architecture. Years later the application programmers have barely been able to comprehend how to write applications for it and get through that orifice."
Intel would take a different approach with its yet-to-launch Larabee graphics-processing unit (GPU), Gelsinger said. The core would use the classic Intel architecture with which programmers were familiar and extend that with a "graphics vector visualisation instruction set that has full support for the native programming models, and full support for APIs like DX and OpenGL, and the broad set of programming models to go with it."
Intel customers had responded with "passion and enthusiasm", which led him to believe that Nvidia's Cuda parallel-processing language and ATI's rival CTM would become footnotes in the history of computing.
Nvidia has been pushing Cuda, essentially an extension of the C programming language, as a way of enabling coders to use low-cost graphics processing units to accelerate inherently parallel specialist applications.
See Test Bed Beating Arm will take years, says Gelsinger
All Software Applications Tags: Knuth, Multicore, Multi-core, Intel, Cuda