Many core, mobile outlook
In its labs, Intel also is working on ways to improve today's data-parallel tools used to run general purpose programs on graphics processors. The current such as OpenCL and Nvidia's Cuda tools use relatively low-level data primitives closely tied to hardware, Rattner said.
Intel is working on alternatives using higher-level programming abstractions such as nested vectors used in dense- and sparse-matrix arithmetic. The company could release those tools in 2012, Rattner said.
The new software represents an effort to bring to today's C++ programmers some of the concepts of the emerging school called functional programming.
"Functional programming looks to be one of the foundations for parallel programming going forward with higher levels of abstraction and more automation of parallelism," said Rattner. "The compiler can extract the parallelism and doesn’t require the programmer to be as explicit as they have to be with OpenCL or Cuda," he added.
Beyond 2012, data-parallel techniques need a more fundamental change, Rattner said. Today's approaches handle tasks one at a time under strictly enforced schedulers, but that leaves some computer resources idle, wasting energy.
Tomorrow's approaches will be more asynchronous in nature but they are only at the concept stage. "Today we give up efficiency for programming convenience, but as we look to the future we can't afford to waste so much power," he said.