Dev Tools Target Parallel Processing

Sept. 2, 2010
Intel Parallel Studio 2011 Dev Tools Target Parallel Processing

Intel Parallel Studio 2011

Parallel Studio Components

Parallel Advisor step-by-step

Intel's new Intel Parallel Studio 2011 targets Intel multicore platforms as well as Microsoft's latest Visual Studio development platform. It builds on Intel's open source Thread Building Blocks adding a host of new features including tight integration with Microsoft's Visual Studio 2010 including support for Microsoft's Parallel Computing support. This includes Microsoft's Concurrencty Runtime.

Parallel Studio 2011 (Fig. 1) consists of the following major components:

It includes Parallel Building Blocks that includes following components (Fig. 2):

Parallel Studio is designed to support new as well as experienced C/C++ parallel programmers. The Parallel Advisor provides insight into existing applications while Parallel Composer provides the compiler and library support. Parallel Inspector exposes memory and threading details in addition to providing error checking services. Parallel Amplifier delivers profiling and analysis.

Intel Parallel Advisor 2011

Intel Parallel Advisor 2011 (Fig. 3) provides a step-by-step processor and tool suite to help analyze an application and highlight those areas and methodologies that might benefit from parallelization. It does this by analyzing and annotating source code so developers can incorporate parallel constructs and methodologies. Parallel Advisor checks for suitability and it can also find conflicts that can prevent parallelization from providing a performance advantage. For example, it can find race conditions as well as highlight variables that should be privatized.

Intel Parallel Composer 2011

Much of the parallel support for Intel Parallel Composer is hidden in libraries but the compilers also handle parallel programming extensions as well. Right now, Parallel Studio's C/C++ compiler integrates with Microsoft's Visual Studio. In the future, other platforms and languages such as Fortran will be added to the mix. This component includes the pre-threaded and thread-safe libraries used by most applications.

Intel Parallel Inspector 2011

Intel's Parallel Inspector targets memory and threading errors. It hooks into the runtime to provide insight into a parallel application. It can address serial as well as parallel code. The thread support is designed to highlight deadlock and race conditions with configurable call stack analysis. The diagnostic guidance support has a knowledge base that includes Thread Building Blocks, OpenMP and Microsoft's thread support.

Intel Parallel Amplifier 2011

Intel's Parallel Amplifier is another tool to analyze performance as well as indentify performance related problems. The Hotspot Analysis shows function calling sequences and call stack hot spots. The analysis is linked to the source code allowing developers to make changes based on information from the Parallel Amplifier tools. The system also checks for idle cores using a colorful GUI interface. The same is true for tracking resources and locks.

Intel Cilk Plus

The Cilk Project started at MIT and was licensed by Cilk Arts that was purchased by Intel. The Intel Cilk++ SDK included the cilk_for, cilk_spawn, and cilk_sync keywords that are now supported by the Parallel Studio C/C++ compiler. These provide recursion and multithreading support. The latter uses a strict fork-join model with low overhead.

Intel Threading Building Blocks

Threading Building Blocks (TBB) provides a C++ template library and runtime for shared-memory parallism. It includes generic concurrent containers that eliminate user locking mechasnims. It can use lock-free or fine-grain locking in a scalable environment. There are exception-safe mutexes designed to address a variety of parallel programming needs. TBB also provides a thread local storage abstraction that supports traversal and reduction algorithms.

Intel Array Building Blocks

Array Building Blocks (ABB) is an adjunct to TBB. ABB provides a C++ template library for data parallism built around, obviously, arrays. ABB works with any compiler unlike the Cilk Plus extensions that are provided by Intel's C/C++ compiler. This makes ABB more portable. It can handle regular, irregular and nested data.

Intel's Thread Building Blocks was a major leap forward in parallel programming. Parallel Studio 2011 is another significant step forward. It takes advantage of existing multicore platforms and it will have a big impact as many core platforms become common place. Parallel Studio does not address all multicore environments but it does cut a wide swath through the parallel programming space.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!