Manufacturer
Intel Corporation
Product Website
URL Screenshot of http://softw…-studio-home/
Price
$399 to $799
Pros
Nice interface that's easy to navigate; excellent threading and array libraries; new C++ keywords are easy to use; when used correctly, does what it says and makes good use of the process cores.
Cons
While new C++ keywords are easy to use, this limits portability; sharp learning curve; price somewhat high for hobbyists and small developers.
Summary
Intel's Parallel Studio 2011 is a fine improvement over the previous version. The new Parallel Advisor 2011 does an excellent job finding places in your code where you can add parallelism. While lacking portability, in many cases that won't be a problem.
Rating
9/10

Since the release of the second edition of Parallel Studio this month, I've spent a good amount of time with it, trying out the new features.

First, what's Parallel Studio? It's an add-in for Microsoft Visual Studio that gives you a large set of features for writing parallel code that targets multiple processor cores. It includes a new C++ compiler that gets run instead of the built-in Visual C++ compiler, allowing you to take advantage of several new features. Parallel Studio integrates with all the recent versions of Visual Studio: 2005, 2008, and 2010.

Parallel Studio 2011, which is the second version, is a significant improvement over the first version. The new features are:Cilk Plus: New C++ keywords (called Cilk Plus) that simplify the writing of parallel, threaded code.

BPP: Parallel Studio includes an entire template library called Parallel Building Blocks (PBB). PBB is built on Threading Building Blocks 3.0, an open-source threading library that was also created by Intel, along with Array Building Blocks. This threading library includes several classes that are similar to the ones in the standard C++ library, with the difference being they are totally thread-safe and will, when possible, run simultaneously on multiple cores. This takes away a lot of the hard work of programming for multiple threads, and that's one of the primary goals of Intel Parallel Studio 2011.

Intel Parallel Advisor: This is all new for 2011. (The earlier version included a "Lite" version.) The idea here is that you'll receive guidelines for developing parallel code. What I found impressive with Parallel Advisor is how smart it actually is. The idea is that it monitors your running program and finds places where you could benefit from parallelization. It includes a workflow window that takes you through the steps.

Test run through Parallel Advisor

The biggest improvement in version 2011 is with Parallel Advisor. This tool is pretty sweet. I took it through a test run to let it tell me where to add parallelism. Here it is analyzing the program: And here are the results, showing that the setQueen function is the bottleneck: And here's where it suggests adding parallelism: One question a lot of people have (including me) is this: Why does it analyze your running code and not the source code itself? The reason is that doing so provides far more accurate results. Analyzing source code can only go so far and would require some serious artificial intelligence to find ideal spots for parallelization. But by analyzing the running, the product can profile everything that's taking place, and actual determine in realtime where your program can benefit from parallelization.Pros and Cons People are often surprised at the gains in performance, but some feelings are positive and some are negative. For example, in one of the sessions at IDF, the Intel managers managed to speed up a sample application three times by dividing the work up on a quad-core processor. One person in the audience said he expected a much bigger difference, and I felt the same way. I think I was hoping to see double-digit or even 100-times improvements. However, the reality is that we were dealing with only four cores, and not everything can realistically be divided among the cores.

Perhaps one potential drawback is in the addition of three new keywords in C++. On one hand, these keywords greatly simplify the writing of parallel code. But the problem is you completely lose portability to other compilers. The reason this might be a problem is if you want to port your software to other platforms (such as handheld devices), then you might have problems. However, realistically, if you're porting to handheld devices, you'll probably be making lots of other changes to the code anyway, so having to work around these three keywords is probably the least of your problems. I would argue, then, that the additional keywords really aren't a big problem.

Conclusion
This is a fantastic product, and the new version adds some amazing tools that will hopefully get everybody thinking about targeting multiple cores with their software. There is, however, a learning curve involved in the product, and sometimes you might be disappointed with the performance increase. The price also might be a little prohibitive to individual developers, but larger software houses should have no problem affording it. The full product containing Advisor, Amplifier, Composer, and Inspector, $799. Or individual components $399 each. Free 30-day trial.

Edited 6 Years Ago by WASDted: n/a

Comments
Nice!! Will totally try it out!!
Attachments code_600.png 147.4 KB product_suite_image1[1].jpg 6.67 KB running_600.png 112.68 KB wheretoadd_600.png 128.98 KB

Hi,
Nobody hit the first question here, So I decided to shoot it now!Please don't hurt me
I'm completely a nooob in parallelization, specially in the areas like dynamic code
analysis for parallelization.

I completely lost and totally can't imagine what's going on behind the software
tool? need to understand the basic theories of parallelization,specific to intel
domain.As many ppl new to the parallelization here, I guess many C++ friends here
have the same question in their minds.

are there are any technical sessions that are online let us know.
--Thanks in advance--

Hi,
I want to evaluate Cilk Plus for our application. I am looking for Cilk+ for linux operating system.
The binary I downloaded (Intel® Parallel Composer) for evaluation is for Windows Operation System.
Do we have Binary available for Linux as well??
If yes please provide us the location from where it can be downloaded.
If not, Can we expect it to be coming in near future?
Help is appreciable.

The article starter has earned a lot of community kudos, and such articles offer a bounty for quality replies.