Teach yourself parallel programming design principles with Intel® Parallel Advisor

It's becoming a fact that creating efficient and responsive software that takes advantage of multi-core hardware designs requires writing parallel applications or adding parallelism to existing code. I usually find that while adding parallelism to my code is the same as any other source code modification, the considerations and ramifications are very different. Having a clear understanding of the concepts required for successful parallel programming is something I have focused on and that I feel will be valuable as hardware core counts increase. However, because this topic has recently come to the mainstream, many developers don't have a strong background in parallel programming. It's my opinion that a working knowledge of the parallel programming basics is one of the most important, and most elusive, skill sets for modern developers. Spending a little time to get up-to-speed with these concepts can be extremely beneficial. When there isn't always a classroom or introductory textbook available, this is a situation where Intel® Parallel Advisor can be very useful.

Parallel Advisor tutorials, samples, and documentation can be used as interactive teaching aids; they have proven useful to both novice and intermediate parallel programmers. Advisor helps explain the basics of parallel programming such as programming for performance, scalability, and correctness. I, for one, have filled numerous gaps in my parallelism knowledge by experimenting with Advisor.

So even if you have an application that you would like to parallelize, or you just want to learn about one of the fastest growing trends in software development, I recommend that you download a full-featured evaluation copy of Advisor and work through some of the samples. You will get an introduction to parallel programming concepts, add valuable information to your knowledge repository, and you may even discover some new development possibilities that you had never considered.

Once you have tried Advisor, please let me know what you think. Did you learn something new about parallelism? How was Advisor as an instructional tool?

As always, if you need any help with Advisor or parallel programming please join the discussion on our community forums.

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