Intel has released its Intel Parallel Studio 1.0, the commercial verison of a suite of C++ tools for Microsoft Visual Studio developers building parallel Windows applications that take advantage of multicore processors. To date, individual components of Parallel Studio -- Parallel Composer, Parallel Inspector, and Parallel Amplifier, for coding/debugging, verifying, and optimizing, respectively -- have been available as beta software. At the same time, the company announced that Parallel Advisor Lite, a tool for assisting in the design of parallel programs, is available as a technology preview that's freely downloaded for Parallel Studio users.
"Parallel Advisor is the fourth leg of our vision for supporting developers," explains Intel's James Reinders. "It gives advice as to which parts of serial code can benefit the most from parallelization." However, Reinders was careful to emphasize that Advisor is not a silver bullet that automatically generates parallel code. Instead it analyzes serial programs to help you decide where to model parallelism into serial programs and uses design-assist technology to finds data conflicts using your serial model before transforming to parallel code. Parallel Advisor will become official component of the commercial suite around the end of this year.
With Advisor's availability, the toolset addresses the complete software development lifecycle, from design and code/debug, to verify and tune.
- Parallel Composer includes a C/C++ compiler, libraries (such as Intel's Threaded Building Blocks and Integrated Performance Primitives), support for C++ OX lambda functions, an extension to the Visual Studio debugger for multithreading of serial and parallel applications, and OpenMP support.
- Parallel Inspector is designed to detect memory errors (memory leaks and corruption) and threaded errors (deadlocks and data race errors).
- Parallel Amplifier is intended to find multicore performance bottlenecks, tune both serial and parallel programs, and scale application performance as more cores become available.



