Intel has launched the first public beta of a component of its Intel Parallel Studio – the Intel Parallel Composer.
Intel, which is as responsible as any other company for the push toward parallelism with its creation of multicore processors, released the Intel Parallel Composer to beta, while the other components of Intel Parallel Studio — Intel Parallel Advisor, Intel Parallel Inspector and Intel Parallel Amplifier — will be released to beta in 2009, said James Reinders, chief evangelist and director of marketing for Intel’s software development products.
Reinders said Intel Parallel Composer is a comprehensive set of compilers and libraries for Microsoft Visual Studio C++ developers that speeds and simplifies threading for improved productivity. It enhances the capabilities of Microsoft Visual Studio to support the entire spectrum of parallel expression and takes advantage of Intel’s latest versions of compilers and libraries for parallelism.
Intel Parallel Composer features both 32-bit and 64-bit compilers and features support for standards such as Threading Building Blocks (TBB) and OpenMP. OpenMP is an application programming interface (API) that supports multiplatform shared memory multiprocessing programming in C/C++ and Fortran.
“I tend to think of four things we provide to help developers adapt to parallelism: Support for standards, debugger extensions, static checking capabilities and extensions for parallelism,” Reinders said.
Reinders said Intel supports OpenMP 3.0, the latest version of the standard. “We have full support for it, which helps because the C language was not written to support parallelism.”
Intel also is supporting extensions to the C++ standard. “The stewards of the C++ standard have been adding a variety of things to the draft standard — known as C++0x — to support parallelism,” Reinders said.
Intel also is supporting lambda functions, parallel valarray and asynchronous I/O, he said. The company is supporting asynchronous I/O via support of the Portable Operating Systems Interface (POSIX) specification. And auto-vectorization, auto-parallelization, spawn and threaded libraries are among the additional features in Intel Parallel Composer.
In addition, Intel provides parallel debugger extensions that add functionality to the Microsoft debugger, including a Parallel Lint capability. Parallel Lint provides source file diagnostics to eliminate bugs, boundary violations and memory corruptions.
A Whole New World of Accelerated Performance
Moreover, Intel’s delivery of tools to support the creation of applications for parallel processing systems “is a very important thing,” said Janel Garvin, senior analyst and founder of Evans Data Corp.
“Multicore processors open up a whole new (and virtually unlimited) world of accelerated performance for applications, but in order to take advantage of the new architecture developers have to multithread their apps and use parallel programming, and they know it,” Garvin said. “In our latest North American survey we found over half (53 percent) of developers are already multithreading some of their apps and 70 percent expect to eventually do so. Intel is hands down the industry leader in creating tools for parallel development, and Parallel Studio is going to be big hit. Visual Studio is the most popular IDE [integrated development environment] in the world and enabling those users to create apps that can use multiple threads of execution in their apps is going to give parallelism a huge boost. Intel’s recently released compilers and tool kits (version 11.0 C++ compiler and Version 3.23 Cluster toolkit) have no equal in the industry for enabling parallel programming with auto-vectorization and auto-parallelization and other tools and libraries. This directly aids the developer and cuts the complexity and complexity is the No. 1 obstacle to parallel programming according to our most recent North American Developer survey.”
Regarding the other components in the Intel Parallel Studio, the Intel Parallel Advisor helps a developer understand where to add parallelism to existing source code. Feedback from the tool allows better design decisions by showing the consequences of decisions, identifying conflicts, and suggesting ways to resolve conflicts.
Intel Parallel Inspector is a proactive “bug finder.” It is a flexible tool to add reliability regardless of the choice of parallelism programming models. Unlike traditional debuggers, Inspector detects hard-to-find threading errors in multithreaded C/C++ Windows applications and does root-cause analysis for defects such as data races and deadlocks.
And the Intel Parallel Amplifier assists in fine-tuning parallel applications for optimal performance for multicore processors by helping find unexpected serialization that limits scaling. Intel Parallel Amplifier makes it simple to quickly find multicore performance bottlenecks, for everyone-not just “experts.”