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.


gaston-hillar's picture

Hi Kazi,

I had the opportunity to meet James Reinders at IDF 2009. I'm also very interested in Parallel Studio for additional programming languages.
I answered this question to James and luckily, the good news is that it is very probable to have C# support during next year.
You can watch this video on Dr Dobbs and Intel Go Parallel TV:
James answers the interviewer's question. In fact, as you can hear whilst watching the video, it was my question. :)
You can also watch the video visiting and clicking on Programming Language Support on Parallel Studio.



anonymous's picture

It sounds interesting ! Curious to evaluate this product. But the only "but" is unmanaged C++.
Why not C# or Java? I hope Intel wont late to consider those like me who Fears unmanaged C++.

gaston-hillar's picture

Hi Douglas,

Of course there is life after Windows. However, it is not a sin to create applications for Windows.
I use Mac, Linux (Ubuntu, Fedora, Knoppix and Opensuse), FreeBSD, Windows 2003 Server, XP, Vista (now uninstalled and replaced by Windows 7 RC, 64 bits!!!).
Programming in Mac with XCode is really awesome.
I don't think that any developer or software engineer should see the world as Linux only, Mac only or Windows only. I do like many things about Linux but I also find many things about Windows being really cool.
By the way, I'm not an Intel employee. However, you'll find that Intel has software products for many operating systems. In fact, they are working with Moblin.



anonymous's picture

It is a shame that Intel wrote this tool as a Microsoft specific program. I have switched to Mac programming and live for the day that there is life after Windows. We (software engineers) desperately need good tools for developing multi-core software and I wish Intel wouldn't put all their eggs in Microsoft's basket.

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.