User Guide

Contents

Other Parallel Frameworks

Intel Advisor
helps you prepare your program for adding parallelism, regardless of the parallel framework you choose.
Intel Advisor
provides the ability to predict the parallel behavior of your serial program and lets you determine the feasibility of possible parallel regions before you actually add parallelism.
Intel Advisor
does not perform analysis of your parallel program, so you can use any parallel framework. You can use
Intel Advisor
with high-level parallel frameworks that use a fork-join model, or with low-level APIs that provide explicit thread control.
Intel recommends using the parallel frameworks
Intel® Threading Building Blocks (Intel® TBB)
or OpenMP*, which are included with most Intel® Parallel Studio XE editions. These high-level frameworks provide parallel features well-suited for most multi-core computer systems.
If you decide to use a different parallel framework or a low-level threading API, please be aware of the following considerations:
  • Some parallel frameworks have limited abilities to scale with different number of cores, handle load balancing, and handle loop scalability (chunking), and so on.
  • As part of your planning, you might create a mapping of at least
    Intel Advisor
    Site, Task, and Lock annotations to the equivalent code constructs in the chosen parallel framework. That is, create a list that maps the
    Intel Advisor
    annotations to your parallel framework's features. Thus, you need to be aware of all annotations. For example, all
    Intel Advisor
    programs need to use parallel site and task annotations. Most programs will also use lock annotations. For a complete list of annotations, see the help topic Summary of Annotation Types.
  • Some parallel frameworks require that you use certain compilers that recognize the parallel framework's keywords, while others are libraries that can be used with multiple compilers.
  • Some parallel frameworks may not correctly handle multi-program workloads.
In all cases, you need to learn how to use the parallel framework that you select. The current Add Parallelism workflow step involves replacing annotations with chosen parallel framework code.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserverd for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804