Programming with Auto-parallelization

The auto-parallelization feature implements some concepts of OpenMP*, such as worksharing construct (with the parallel for directive). This section provides specifics of auto-parallelization.

Guidelines for Effective Auto-parallelization Usage

A loop is parallelizable if:

The compiler may generate a run-time test for the profitability of executing in parallel for loop with loop parameters that are not compile-time constants.

Coding Guidelines

Enhance the power and effectiveness of the auto-parallelizer by following these coding guidelines:

Auto-parallelization Data Flow

For auto-parallelization processing, the compiler performs the following steps:

  1. Data flow analysis
  2. Loop classification
  3. Dependence analysis
  4. High-level parallelization
  5. Data partitioning
  6. Multi-threaded code generation

These steps include: