Intel® Advisor User Guide

ID 766448
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

workflow

Explain typical Intel® Advisor user scenarios, with corresponding command lines.

Syntax

--workflow

Usage

Explain typical Intel Advisor user scenarios, with corresponding command lines.

Add SIMD Parallelism:

1. Find hotspots.

advisor --collect=survey --search-dir src:r=./src --project-dir=./advi_results -- ./bin/myApplication
advisor --report=survey --project-dir=./advi_results --search-dir src:r=./src --format=text --report-output=./out/survey.txt

2. Determine the number of loop iterations.

advisor --collect=survey --search-dir src:r=./src --project-dir=./advi_results -- ./bin/myApplication
advisor --report=survey --search-dir src:r=./src --format=text --report-output=./out/survey.txt --project-dir=./advi_results

3. Check for possible dependencies.

advisor --collect=dependencies --search-dir src:r=./src --project-dir=./advi_results -- ./bin/myApplication
advisor --report=dependencies --search-dir src:r=./src --format=text --report-output=./out/dependencies.txt --project-dir=./advi_results

4. Check memory access patterns.

advisor --collect=map --search-dir src:r=./src --project-dir=./advi_results -- ./bin/myApplication
advisor --report=map --search-dir src:r=./src --format=text --report-output=./out/map.txt --project-dir=./advi_results

5. Update the application to enable automatic compiler vectorization, or explicitly mark the loops you need to vectorize. Rebuild the application and test.

Add Threading Parallelism

1. Find hotspots. This step is similar to the first step in the SIMD-parallel workflow (above).

2. Determine the number of loop iterations. This step is similar to the second step in the SIMD parallel workflow (above).

3. Add annotations to the application source code and rebuild the application.

4. Collect suitability data. Note: Annotations must be present in the source code for this collection to be successful.

advisor --collect=suitability --search-dir src:r=./src --project-dir=./advi_results -- ./bin/myApplication
advisor --report=suitability --search-dir src:r=./src --format=text --report-output=./out/suitability.txt --project-dir=./advi_results

5. Check for the possible dependencies.

advisor --collect=dependencies --search-dir src:r=./src --project-dir=./advi_results -- ./bin/myApplication
advisor --report=dependencies --search-dir src:r=./src --format=text --report-output=./out/dependencies.txt --project-dir=./advi_results

6. Display a list of currently used annotations.

advisor --report=annotations --search-dir src:r=./src --format=text --report-output=./out/annotations.txt --project-dir=./advi_results

7. Update the application using the chosen parallel coding constructs. Rebuild the application and test.

TIP:

Use an option file for efficiency. Enter one option on each line. No spaces are allowed in the option entry; use a new line. The option file must be in UTF-8 format.

advisor --report=annotations --option-file=./advi/option.txt
with an option.txt file that looks like this:
 --project-dir
./advi_results  
--search-dir
src:r=./src
--format=text
--report-output
./out/annotations.txt

See Also