In Michael Wolfe’s second column on programming for exascale systems, he underscores the importance of exposing parallelism at all levels of design, either explicitly in the program, or implicitly within the compiler. Wolfe calls on developers to express this parallelism, in a language and in the generated code, and to exploit the parallelism, efficiently and effectively, at runtime on the target machine. He reminds the community that the only reason to pursue parallelism is for higher performance.
ADVANCE Project explores new programming paradigms for multicore hardware.
There are at least two ways exascale computing can go, as exemplified by the top two systems on the latest TOP500 list: Tianhe-1A and Jaguar. The Chinese Tianhe-1A uses 14,000 Intel multicore processors with 7,000 NVIDIA Fermi GPUs as compute accelerators, whereas the American Jaguar Cray XT-5 uses 35,000 AMD 6-core processors.
The Weekly Top Five features the five biggest HPC stories of the week, condensed for your reading pleasure. This week, we cover the computing power on display at SC10’s Student Cluster Competition; the University of Portsmouth’s new supercomputer; IBM Watson’s SUSE Linux platform; multicore advances at North Carolina State; and Intel’s new approach to university funding.
With exascale predictions all the rage, here’s a more sobering look at the next big thing in supercomputing.
TC Labs, a portal at MSDN DevLabs, provides developers with early access to Microsoft Technical Computing software.
As the high performance computing community hurtles toward the exaflop milestone, it has become clear that the natural evolution of multicore x86 CPUs won’t get the industry very far toward that goal. Manycore GPGPUs, on the other hand, do appear to be a viable path to exascale computing. So where does that leave GPU-less Intel?
Although the parallel programming landscape is relatively young, it’s already easy to get lost in. Beside legacy frameworks like MPI and OpenMP, we now have NVIDIA’s CUDA, OpenCL, Cilk, Intel Threading Building Blocks, Microsoft’s parallel programming extensions for .NET, and a whole gamut of PGAS languages. And according to Intel’s Tim Mattson, that’s not necessarily a good thing.
NVIDIA’s CUDA is easily the most popular programming language for general-purpose GPU computing. But one of the more interesting developments in the CUDA-verse doesn’t really involve GPUs at all. In September, HPC compiler vendor PGI (The Portland Group Inc.) announced its intent to build a CUDA compiler for x86 platforms. The technology will be demonstrated for the first time in public at SC10 this week in New Orleans.
Muticore processors may extend the viability of Moore’s Law, but present their own challenges.