Using Intel Parallel Studio to teach the most difficult issues related to multi-core programming

As my blogger profile says, I’m always researching about new tools and technologies. Therefore, I couldn’t help downloading and testing Intel Parallel Studio’s Beta.
I’m usually involved in projects using many different programming languages. I’m not a C++ guru. However, I often work with unmanaged C++ when I want the best performance for a parallelized algorithm.

As I’m used to work with managed code and garbage collectors (C#, Java and Groovy, among others), I usually face many difficulties when switching to unmanaged C++.
When I finished installing Intel Parallel Studio and I saw the new toolbars integrated in Visual Studio 2008, I couldn’t help beginning to read the complete documentation for this exciting product.
I really liked the capabilities offered by Intel Parallel Studio. It helped me to work faster in order to parallelize existing serial code. It also helped me to find the most difficult bugs and to profile my applications. I do believe it is a unique tool. You’ll find a lot of information about Intel Parallel Studio on its main Website: /en-us/intel-parallel-studio-home/

A well-known proverb says “A good workman is known by his tools”. Last week, I had to begin teaching the most difficult parts of a small multi-core programming course.
I was talking about C# multi-core programming, using .Net 3.5. I’ll have a final session talking about future .Net 4.0 parallel extensions and the new features offered by Visual Studio 2010.
I realized that Intel Parallel Studio’s evaluation version could help me to teach the most difficult topics and to emphasize the performance improvements offered by parallel programming.

So far, Intel Parallel Studio does not work with C#. However, it offers amazing tools that make it easy to understand difficult topics, like:

• Scalablity problems.
• Race conditions.
• Dead-locks.
• New bottlenecks.
• New debugging techniques.
• New parallel bugs.
• New tuning challenges.

The results were really satisfying. Intel Parallel Studio helped me to teach difficult topics using an innovative approach. The feedback was really amazing. Developers attending the course understood these issues. They are going to work with C#, but they learned the necessary concepts to understand the big problems. However, they are going to use different tools to detect and to solve them.
I’d love to see Intel Parallel Studio for C# (.Net) and for Java. However, I’ll go on taking advantage of its features to teach the most difficult to learn multi-core programming issues.

Intel Parallel Studio has been recently launched (version 1.0). If you're interested in learning multi-core programming and the challanged associated with the parallelism age, you'll find is really useful to test it. If you don't work with C++, it doesn't matter because you'll still be able to learn really important techniques. Then, you'll be able to use these techniques in your programming language.

Besides, I encourage you to ask Intel to add new languages to this exciting tool. Don't leave me alone.

For more complete information about compiler optimizations, see our Optimization Notice.