Intel® Parallel Advisor Lite

Submit New Article

Last Modified On :   September 24, 2009 8:54 AM PDT
Rate
 


Download.gif
What If Home | Product Overview | Documentation | Technical Requirements | Webinars
FAQ | Primary Technology Contacts | Discussion Forum | Blog | Help

Intel® Parallel Advisor Lite helps you prepare serial parts of your program for parallelism by simulating its parallel behavior. It is provided free of charge as a technology preview.

Parallel Advisor Lite is an add-on for the Intel® Parallel Studio suite of development tools for C/C++ developers using Microsoft Visual Studio*. You need to use Intel® Parallel Studio tools to finish implementing parallelism and to tune your parallel program.

The Intel® Parallel Studio product suite includes Intel® Parallel Composer, Intel® Parallel Inspector, and Intel® Parallel Amplifier. Together with Intel® Parallel Advisor Lite, it enables Microsoft Windows* developers to easily and quickly design, create, debug and optimize applications for multi-core processors. To use Parallel Advisor Lite, you need to install Intel® Parallel Studio (download the evaluation version here)

Intel® Parallel Studio products are the first software development products to satisfy an immediate need to enable parallelism for many programmers including:

  • End-to-end product suite for parallelism: Easing implementation at every stage in the development cycle to design, code, debug and tune applications.
  • Forward scaling: Enabling the application to dynamically adapt to every processor innovation.
  • Standards-based solution for threading: Enabling companies to leverage significant investments in C/C++ applications and C/C++ developer skills.
  • Easy parallelism on-ramp: Minimizing learning curves, while improving productivity for accelerated return on hardware and software investments.
  • Support multiple ways to exploit parallelism: Including data and task parallel programming

Intel® Parallel Advisor Lite is built upon new analysis algorithms that will help you find the unanticipated serial implementation artifacts preventing the optimal application of parallelism in your code.

Over the last few years, processor technology found in personal laptops, desktops, and enterprise servers has shifted from making single-core processors faster to having multiple cores in each processor. Parallel programming takes advantage of this new paradigm: portions of the program (tasks) execute at the same time, each task using a core. On multi-core systems, this can provide better performance.

Intel® Parallel Advisor Lite helps you prepare your program source code for the introduction of parallelism. It guides you through a sequence of steps that helps you incrementally analyze and transform chosen serial portions of your program. For example, you need to identify candidate tasks that can execute in parallel and also handle likely data access issues that may result from parallel execution. After you prepare and test your program, you can add code that introduces parallelism, which often provides shorter execution times on multi-core systems.

When Do I use Intel® Parallel Advisor Lite?

You use Intel® Parallel Advisor Lite as the first step in the process, before you add parallelism to your serial program. It helps you:

  • Locate places to add parallelism, such as areas of your program that use the most CPU time.
  • After you select certain areas, you need to ensure that those parts of your program can indeed run in parallel. To easily add parallelism later, you need to prepare your program.

So How Do I Prepare My Program?

To prepare your program for parallelism, you:

  • Open the workflow documentation in the help to guide you through the parallelism-enabling steps.
  • Add one-line annotations to your source code to identify the places where you want to enable the use of parallelism.
  • Use Intel® Parallel Advisor Lite tools that read your annotations while evaluating and executing your code. These tools consider the implications of your proposed parallel areas to predict data sharing problems in your serial program, such as data races.
  • Decide whether to eliminate sharing problems by either changing (privatizing) variable use or by adding explicit synchronization. If you choose to add synchronization, you need to add lock annotations to your source code.
  • Re-test your modified serial program to verify that the predicted sharing problems have been fixed.

When Do I Use Intel® Parallel Studio?

When planning a significant modification of your application, consider using the Intel® Parallel Composer to provide important performance benefits, such as by using the Intel® C++ Compiler and Intel® Integrated Performance Primitives threaded libraries. In addition to its ability to efficiently optimize code, the Intel® C++ Compiler provides many capabilities that can simplify implementing parallelism as well as OpenMP* 3.0 support.

While using Intel® Parallel Advisor Lite, you need to choose one of the parallel frameworks to enable parallelism in your source code, such as OpenMP* support or the Intel® Threading Building Blocks, which are both included with Intel® Parallel Composer.

After you modify your source code to add parallelism, you use Intel® Parallel Studio tools to build, check, tune, and debug your parallel program. It has tools to help you look for and address issues associated with memory leaks, threading errors, locks and waits, concurrency, and overall application performance. After building using the Intel® C++ Compiler, you can use the Intel® Parallel Debugger Extension included with Intel® Parallel Composer to extend the Microsoft Visual Studio* debugger with additional parallelism features.



Product Overview

Intel® Parallel Advisor Lite offers early exposure to some of Intel® Parallel Advisor’s features:

  • Methodology – Learn how to try out parallel ideas with serial modeling using our proven methodology
  • Hot Spot Analysis – Analyze your serial program to help decide where to model parallelism into your serial program
  • Performance Projection – Learn how to use performance data to estimate the benefit of threading
  • Correctness Modeling – New design-assist technology that finds data conflicts using your serial model before transforming to parallel code!

Intel® Parallel Advisor Lite's workflow documentation (help) guides you through the steps needed to prepare for and later apply parallelism. It helps you:

  • Profile a running program to identify candidate sites that should use parallelism.
  • Add one-line source annotations to identify the beginning and end of candidate parallel sites and their tasks.
  • Use the correctness modeling tool on your annotated program to predict where data sharing problems exist that should be fixed before adding parallelism.
  • Add source annotations to identify how to avoid the data sharing problems, such as by adding synchronization.
  • After completing these steps and testing the serial program, replace the annotations with code that implements parallelism. This creates a parallel version of your program that uses multiple threads and thus utilizes the performance capabilities of multi-core systems.

 

The following figure shows the major steps you follow to add parallelism to your program:

lite+fig+2.jpg

This is an interactive process, where you repeat these basic steps as you identify more sites for adding parallelism.

Intel® Parallel Advisor Lite Parallel Methodology Interface

PAL-ScreenShot.gif

 


Documentation

Technical Requirements
  1. Intel® Parallel Advisor Lite requires the Intel® Parallel Studio product, where the installation includes at least Intel® Parallel Amplifier and Intel® Parallel Inspector.   If you have multiple versions of Microsoft Visual Studio* installed, install Parallel Advisor Lite to the same version(s) of Microsoft Visual Studio* that you installed the Intel® Parallel Studio product. See http://software.intel.com/en-us/intel-parallel-studio-home/ for information on Intel® Parallel Studio.
  2. Intel® Parallel Advisor Lite installation must be performed from an account with administrative privileges, such as the administrator account.

Webinars

Intel® Parallel Advisor Lite related Webinars

The Key to Scaling Applications for Multicore

Whether an application is serial, partially parallel, or fully parallel it can get significant benefit from parallelism. New Intel® Parallel Studio tools provide Windows* developers with the keys to get the most out of parallelism. Gain an in-depth understanding of when, where, and how much to use parallelism to achieve optimal results. Microsoft* Visual Studio C/C++ developers will learn how to identify and safely design applications that can scale with increasing processor core counts. Recommended companion technical webinar: Identify and Address Threading Opportunities.

Identify and Address Threading Opportunities

Parallelize client applications using Intel® Parallel Studio. Identify where to parallelize code and how to go about making the changes. This demonstration covers key tool capabilities---identify hot spots that would benefit from threading, use speculative evaluation to find threading barriers, determine if barriers are really limiting or can be overcome, and overcome threading barriers by adding locks or restructuring code. Effective techniques combined with compelling examples using OpenMP* and Intel® Threading Building Blocks will help developers apply insights to applications and take advantage of multicore hardware for better performance. Recommended companion technical webinar: The Key to Scaling Applications for Multicore.

Blogs

Intel® Parallel Advisor Lite related Blogs:

  1. Have you tried Intel® Parallel Advisor Lite?
  2. A Parallel Modeler for Serial Applications
  3. How to model parallelism with Intel® Parallel Advisor Lite
  4. Finding Suitable Sites for Parallelism using Intel® Parallel Advisor Lite
  5. Intel® Parallel Advisor Lite Update 1 Released
  6. Installing Intel® Parallel Advisor Lite on Vista and Windows 7
  7. What’s the Advantage of Modeling Parallelism on my Serial Program with Parallel Advisor Lite?

For more blogs, please see Intel® Parallel Advisor Lite posts on Whatif Software Blog.


Frequently Asked Questions

Q - What is Intel® Parallel Advisor Lite?

A - The Intel® Parallel Advisor Lite utility is a technology preview that accelerates parallel application design by providing unique insight into how parallelism will benefit your application.  Parallel Advisor Lite is an add-on to the Intel® Parallel Studio suite of development tools for C/C++ developers using Microsoft Visual Studio*.

Q - What benefits can I expect from using Intel® Parallel Advisor Lite?

A - Intel® Parallel Advisor Lite follows a simple, proven methodology to help you introduce parallelism into parts of your program.   The benefit of threading your application is that it will give you better performance, allowing you to compete more effectively.

  1. A key benefit of Parallel Advisor Lite is increased productivity when threading code.
  2. Parallel Advisor Lite will help you figure out the right places to add threading. Don’t guess. Measure.
  3. Parallel Advisor Lite will help you avoid the pitfalls of adding parallelism, because you can find the data race issues while still running serial code. With the time you save, you can get to market faster, with more features.

Q - What types of programs can be used with Parallel Advisor Lite?  Can it examine managed code?

A - As an add-on to Intel® Parallel Studio, Intel Parallel Advisor Lite supports native C/C++ applications.  Intel® Parallel Studio suite of development tools support solutions and projects from Microsoft Visual Studio* 2005 and Visual Studio* 2008.

Q - How do I get started?

A - You must have the prerequisite software (see Technical Requirements) installed on your system before downloading. The prerequisite software includes Microsoft Visual Studio* 2005 or Visual Studio* 2008 with the Microsoft Visual C++* component, and Intel® Parallel Studio.

After installing Intel® Parallel Advisor Lite, you can follow the easy instructions in the Getting Started document to begin working with our samples to familiarize yourself with our methodology and tools before you begin evaluating your own serial programs.

For more details, view the html-based Help and the Release Notes (PDF).

Q - What is the state of the product on the WhatIf site?

A - Intel® Parallel Advisor Lite is provided free of charge as a technology preview. We’re interested in your feedback. Since it is only a technology preview, the availability and support for Intel Parallel Advisor Lite is not long-term. Intel is planning on releasing the Intel® Parallel Advisor with a future version of Intel® Parallel Studio.

Q - How do I report problems or send feedback?

A - You are welcome to join our What If Software Forum to post your questions and issues. The team will keep any eye on the discussion and do our best to answer your questions.

Q - What kind of feedback are you looking for?

A - Please visit the What If Software Forum and your thoughts in an Intel Parallel Advisor Lite discussion thread or create a new one.   We appreciate all feedback, in particular feedback on the following:

  • Your thoughts on this methodology for parallelizing your program.
  • How does it compare with other techniques you have used?
  • What features of Intel® Parallel Advisor Lite do you like?  What did you find difficult to use or to understand?
  • What is the biggest obstacle that has stopped you from implementing multi-core support in your application?   Does Parallel Advisor Lite address this obstacle?
  • What evidence did Parallel Advisor Lite present that convinced you not to parallelize your program?

Q - How do I download Intel® Parallel Advisor Lite?

A - Visit the end user agreement and download page for Intel® Parallel Advisor Lite.

 


Primary Technology Contacts


Caroline Davidson is a Technical Consulting Engineer with the Intel’s Performance, Analysis, and Threading Team. She brings a fresh perspective to parallelizing applications given her broad experience of over 10 years user interface development while integrating with Microsoft Visual Studio, Borland, and Apple Xcode IDEs, as well over 11 years compiler code generation development on Digital Equipment's GEM Compiler System. She joined Intel Corporation in 2001 as part of Compaq Corporation's Visual Fortran team.


Mark Davis is a Senior Principal Engineer at Intel. He is in the Performance, Analysis, and Threading Team and has been designing and implementing software tools for parallelism for several years. Previously, he was Architect of Intel's Itanium Compiler Lab, providing high quality, high performance compilers for enterprise-class Itanium platforms. He has also been co-manager of the Itanium Compiler Development team. Mark has specialized in compiler optimizations, performance analysis, and architecture design in his career. Dr. Davis received his Ph.D. in Computer Science from Harvard.


We encourage you to visit our support forums. We’ll be watching for Intel® Parallel Advisor Lite questions.