Parallel programming is not easy. I remember back in my computer science college courses years ago studying the problems involved in writing algorithms that make use of parallel processors. This was in the late 1980s, when parallel programming was basically understood but the tools to accomplish it were lacking. Multiprocessor computers were rare back then, so such tools weren't very important to everyday programmers.
Today, however, processors with multiple cores are commonplace, which has created a need for new tools that make parallel programming easier.
To help programmers write code that makes use of multiple cores, Intel has released Intel Parallel Studio, which works hand-in-hand with Microsoft Visual Studio (and supports only Microsoft Windows, XP or higher).
Intel Parallel Studio consists of the following components:
-Parallel Inspector, an analysis tool that will locate threading and memory problems;
-Parallel Composer, the set of tools that includes the Intel C++ compiler and associated libraries;
-Parallel Amplifier, an analysis tool that analyzes the performance of your program; and
-Parallel Advisor Lite, a tool that guides you through several steps to help prepare your program for parallelism. (Technically, Parallel Advisor Lite isn't part of the Intel Parallel Studio but is a separate download available for free at http://whatif.intel.com.)
I tested Intel Parallel Studio and found no problems-despite looking for some. It's a superior product and definitely something a C++ programmer should check out.
Applications developed with Intel Parallel Studio will be forward-compatible with future Intel multicore processors, including "Larrabee," a general-purpose multicore X86-based processor Intel is developing with high-performance graphics capabilities built in.
Intel refers to this forward compatibility as future-scalable-that is, applications built with Parallel Studio will work with processors that have more cores than today's processors have, and will take advantage of the additional cores.