In an attempt to get programmers to write parallel applications for its future generations of manycore processors, Intel has announced the opening of a virtual testing lab that will allow teachers and students to develop and test applications on up to 32 cores.
Intel’s Manycore Testing Lab opened on March 10 for enrollment. It is free for academic use and provides cloud-based tools from Intel Parallel Studio, said Michael Wrinn, manager of innovative software education at Intel.
Parallel Studio includes Intel’s Parallel Advisor, Parallel Composer, Parallel Inspector and Parallel Amplifier, as well as compilers and libraries for C and C++ programs.
Intel is creating partnerships with universities and faculty to infuse parallel programming techniques through computer science curricula, Wrinn said. “They should keep the traditional courses and are still going to teach data structures, but [they] should teach data structures that are now designed for implementation on parallel architecture.”
Another objective is to create teaching examples that can be used by more universities in the future, Wrinn said. A recent increase in academic workshops and papers about parallelism is proof that universities understand the challenge of manycore programming and are beginning to address it, he added.
While 32-core systems are not on the market today, they will be in the future, Wrinn said. In his opinion, students should learn how to write applications that can take advantage of large numbers of heterogeneous cores.
Intel is preparing to launch a six-core (or hexa-core) processor called Gulftown, which will ship this year. Current Intel processors contain as many as four cores.
The challenges of writing an application for scalability on a 32-core machine versus a four-core machine are markedly different, Wrinn explained. He also predicted that applications would selectively target graphics processing units (GPU) in addition to CPUs.
Indeed, industry efforts, including the Open Computing Language framework, are already under way to merge CPU and GPU programming.
Over time, Wrinn believes that today’s most popular programming languages will be extended for parallel programming. “There will be a deterministic approach within the framework of existing languages,” he said.
The Manycore Testing Lab includes technologies to extend C++, such as Threading Building Blocks, a series of templates developed by Intel for parallel development. It will also feature Intel’s Ct technology, which is comprised of a library and runtime called to add a level of abstraction to parallel programming in C and C++ without requiring a special compiler.