Intel's Parallel (Near Term) Roadmap
In wrapping up this year's Intel Software Conference, James Reinders shared a sneak peek of what software developers can look forward to seeing from the company over the coming months, at least in terms of parallel programming tools.In doing so, Reinders, Intel's director of software development products, focused on three areas which he considered to be key:
- Tools for high-performance computing (HPC) and scientific communities
- Parallel Studio 1.0
- Advancing parallel programming in general
With optimized C++ and Fortran compilers that run on Windows, Linux, and Mac OS X, among other platforms, as well as Threading Building Blocks (TBB), Integrated Performance Primitives (IPP), and the Math Kernel Library (MKL), Intel has long had its foot in the HPC door. And with revisions and updates to its compilers due for release in June of this year, there doesn't seem to be any indication that Intel will take its foot off the HPC throttle. In doing so, both the Fortran and C++ compilers will continue to track and implement standards efforts as they are released.
As for other HPC tools, the VTune performance analyzer will get a number of new features in the coming months, including key technology enhancements to brought over from Parallel Amplifier. In a you-scratch-my-back-and-I'll-scratch-your's scenario, Parallel Amplifier will also be updated with VTune technology, as the two analyzer products will take turns implementing each other's technology. Still, VTune will remain the company's deep-dive performance analyzer tool. Likewise, the Linux-based Thread Checker, an analysis tool that pinpoints threading errors such as data races and deadlocks in 32-bit and 64-bit applications, will get enhancements originally designed for and implemented in the Windows-based Parallel Inspector.
When turning to Parallel Studio, a suite of tools designed to facilitate parallel programming for developers working in Visual Studio with C/C++ on Windows, Reinders suggested that Intel will be aggressive in updating Parallel Studio 1.0 (the suite is currently in beta). "The feedback from thousands of beta testers has been really good," he explained, "but this will only be version 1." When Version 1.0 is officially rolled out, it will include three of its four components: Parallel Composer, for coding and debugging; Parallel Inspector, a multithreading error checking tool; and Parallel Amplifier, a performance optimizing tool. What won't be included is Parallel Advisor, a design tool that helps developers understand where they can add parallelism to existing source code. The tool is intended to foster better design decisions by showing the consequences of decisions, identifying conflicts, and suggesting ways to resolve conflicts. According to Reinders, Intel plans on released "Parallel Advisor Lite" as a free beta download to Parallel Studio customers when Parallel Studio 1.0 is released, with the full 1.0 release of Advisor due out in 2010. "We'll play it be ear," Reinders explained.
As for plans concerning Windows 7 and Visual Studio, Intel will track Microsoft's progress on those products and stay current with them. (Note that Visual Studio 2010 is not yet in beta.) Intel also plans on supporting Microsoft's Concurrrency Runtime as soon as it is available.
As for advancing parallel programming in general, the bulk of Intel's focus will be on the recently announced Ct. At this stage, Intel has only announced that Ct will be a product, not what that product will be. Reinders did indicate that all Intel parallelizing tools would likely support Ct in some way or another. He added that some Ct-based products would be in beta by the end of the year. But by whatever guise it takes on, a Ct-based product will focus on data parallel programming which lets developers guarantee determinism and ensure scalability. Reinders admitted that guaranteeing deterministic behavior is a "bold" statement. However, he added it's has been done before, "but not with C/C++". Ct also supports "Forward scaling" which means that if your program works okay with 4 or 8 cores, it will work with manycores. The bottom line is that Reinders believes that Ct technology will expand Intel's support for parallelism, much like TBB did.