Get Link
|
Sync TOC
|
<<
|
>>
Intel® Advisor
Legal Information
Product Website and Support
What's New
Getting Started
About Workflows
How to Use the Workflow
Full Workflow
Vectorization Workflow
Threading Workflow
Before You Begin
About the Intel® Advisor GUI
Using the Menu Items and Toolbars
Using the Advisor Workflow Tab
Setting Up Your Command Line Environment
Setting and Using Intel Advisor Environment Variables
Limiting the Number of Threads Used by Parallel Frameworks
Choosing Application Output
Locating the Samples Files
Choosing and Building a Target
Understanding Supported Targets
Choosing a Small, Representative Data Set for the Correctness Tool
Overview of an Intel Advisor GUI Project and Its Targets
Build Settings for Supported Languages
Build Settings for C/C++ Applications
Build Settings for Fortran Applications
Creating a Project Using the Intel Advisor GUI
Opening and Closing a Project Using the Intel Advisor GUI
Specifying Project Properties Using the Intel Advisor GUI
Binary/Symbol Search and Source Search Locations
Surveying the Target Application
Minimizing Data Collection, Result Size, and Execution Time for the Survey Tool
Before Running the Survey Tool
While Running the Survey Tool
Overview of the Survey Report
Viewing Data from the Survey Tool
Analyzing Multi-ISA Binaries
Collecting Trip Counts
Minimizing Data Collection Result Size and Execution Time (Trip Counts)
Before Running the Trip Counts Tool
While Running the Trip Counts Tool
Overview of the Summary Window After Running the Trip Count Collector
Marking Loops for Deeper Analysis
Annotating Code for Deeper Analysis
Before Choosing and Marking the Best Parallel Opportunities
Using Amdahl's Law and Measuring the Program
Task Organization and Annotations
Annotating Parallel Sites and Tasks
Task Patterns
Multiple Parallel Sites
Data and Task Parallelism
Mixing and Matching Tasks
Choosing the Tasks
Task Interactions and Suitability
How Big Should a Task Be?
Using Partially Parallel Programs with Intel Advisor Tools
Checking Suitability
Minimizing Data Collection, Result Size, and Execution Time for the Suitability Tool
Before Running the Suitability Tool
While Running the Suitability Tool
Overview of the Suitability Report
Modifying Modeling Parameters in the Suitability Report
Viewing Data from the Suitability Tool
Fixing Annotation-related Errors Detected by the Suitability Tool
Reducing Parallel Overhead, Lock Contention, and Enabling Chunking
Reducing Site Overhead
Reducing Task Overhead
Reducing Lock Overhead
Reducing Lock Contention
Enabling Task Chunking
Enable Ideal Code Vectorization
Examining Potential Dependencies
Annotations for Parallel Sites and Tasks
Minimizing Data Collection, Result Size, and Execution Time for the Dependencies Tool
Before Running the Dependencies Tool
While Running the Dependencies Tool
Viewing Data from the Dependencies Tool
Sharing Problems
Overview of the Dependencies Report
Changing States
Dependencies Tool Limitations
About Source Code Availability Icons
Checking Memory Access Patterns
Before Running the Memory Access Patterns Tool
Minimizing Data Collection Result Size and Execution Time (Memory Access Patterns)
While Running the Memory Access Patterns Tool
Overview of the Memory Access Patterns Report
Viewing Summary After Running All Tools
Overview of the Summary Window, After Running All Tools
Using the Summary Window to Help You Decide on Your Tasks
Fixing Sharing Problems
Understanding Data Sharing Problems
Kinds of Sharing Problems
Incidental Sharing
Independent Updates
Problem Solving Strategies
Eliminating Incidental Sharing
Examine the Task's Static and Dynamic Extent
Verify Whether Incidental Sharing Exists
Creating the Private Memory Location
Pointer Dereferences
Synchronizing Independent Updates
Synchronization
Explicit Locking
Assigning Locks to Transactions
Pitfalls from Using Synchronization
Difficult Problems: Choosing a Different Set of Tasks
Fixing Problems in Code Used by Multiple Parallel Sites
Memory That is Accessed Through a Pointer
Adding Parallelism to Your Program
Before You Add Parallelism: Choose a Parallel Framework
Overview of Parallel Frameworks
About Intel® Threading Building Blocks (Intel® TBB)
About Intel® Cilk™ Plus
About OpenMP*
About the Microsoft Task Parallel Library* (TPL)
Using Other Parallel Frameworks
Adding the Parallel Framework to Your Build Environment
Enabling Intel® Threading Building Blocks in your Build Environment
Defining the TBBROOT Environment Variable
Enabling C++11 Lambda Expression Support with Intel® TBB
Enabling Intel® Cilk™ Plus in your Build Environment
Enabling OpenMP* in your Build Environment
Overview of the Annotation Report Window
Using the Annotation Report Window to Locate Annotations
Replacing Annotations with Intel® Threading Building Blocks (Intel® TBB) Code
About Replacing Annotations with Intel®TBB Code
About Intel TBB Mutexes
Intel TBB Simple Mutex - Example
Testing the Intel TBB Synchronization Code
Parallelize Functions - Intel TBB Tasks
Parallelize Data - Intel TBB Counted Loops
Parallelize Data - Intel TBB Loops with Complex Iteration Control
Replacing Annotations with Intel® Cilk™ Plus Code
About Replacing Annotations with Intel® Cilk™ Plus Code
Intel Cilk Plus Reducers
Intel Cilk Plus Mutexes
Testing the Intel Cilk Plus Synchronization Code
Parallelize Functions - Intel Cilk Plus Tasks
Parallelize Data - Intel Cilk Plus Counted Loops
Parallelize Data - Intel Cilk Plus Loops with Complex Iteration Control
Replacing Annotations with OpenMP* Code
About Replacing Annotations with OpenMP* Code
About Adding OpenMP Code to Synchronize the Shared Resources
OpenMP Critical Sections
Basic OpenMP Atomic Operations
Advanced Examples of OpenMP Atomic Operations
OpenMP Reduction Operations
OpenMP Locks
Testing the OpenMP Synchronization Code
Parallelize Functions - OpenMP Tasks
Parallelize Data - OpenMP Counted Loops
Parallelize Data - OpenMP Loops with Complex Iteration Control
Next Steps for the Parallel Program
Using Intel® Inspector and Intel® VTune™ Amplifier
Debugging Parallel Programs
Maintaining Results
Opening a Result
Renaming Existing Results
Deleting a Result
Creating a Read-only Result Snapshot
Saving Results to a Custom Location
Annotations
Summary of Annotation Types
Using the Intel® Advisor Annotation Definitions File
About Using the Intel Advisor Annotation Definitions Files
Referencing the Annotations Definitions Directory
Including the Annotations Header File in C/C++ Sources
Adding Annotations in Your Source Code
About Inserting Annotations into Your Source Code
Copying Annotations and Build Settings Using the Survey Windows
Inserting Annotations in a Text Editor
General Characteristics of Annotations
Site and Task Annotations for Simple Loops With One Task
Site and Task Annotations for Parallel Sites with Multiple Tasks
Lock Annotations
Pause Collection and Resume Collection Annotations
Special-purpose Annotations
Tips for Annotation Use with C/C++ Programs
Controlling the Expansion of advisor-annotate.h
Handling Compilation Issues that Appear After Adding advisor-annotate.h
Using the Sample Programs
Sample Program Characteristics
Troubleshooting
Troubleshooting Analysis of Debug Build
Troubleshooting Analysis of Release Build
Troubleshooting Debug Information Not Available
Troubleshooting No Annotations Found
Troubleshooting No Data
Troubleshooting Source Not Available
Troubleshooting Survey Tool does not Display Survey Report
Troubleshooting Undefined Linker References to dlopen or dlsym
Troubleshooting Unexpected C/C++ Compilation Errors After Adding Annotations
Troubleshooting Unexpected Unmatched Annotations in the Dependencies Report
User Interface Reference
Annotation Report Window
Window: Annotation Report
Window: Annotation Report, Clear Description of Storage Row
Window: Annotation Report, Disable Observations in Region Row
Window: Annotation Report, Pause Collection Row
Window: Annotation Report, Inductive Expression Row
Window: Annotation Report, Lock Row
Window: Annotation Report, Observe Uses Row
Window: Annotation Report, User Memory Deallocator Use Row
Window: Annotation Report, User Memory Allocator Use Row
Window: Annotation Report, Reduction Row
Window: Annotation Report, Re-enable Observations at End of Region Row
Window: Annotation Report, Resume Collection Row
Window: Annotation Report, Site Row
Window: Annotation Report, Task Row
Context Menus
Context Menus: Intel Advisor Report Windows
Context Menus: Intel Advisor Source Windows
Context Menus: Intel® Advisor Annotation Report Window
Context Menus: Call Stack Panes
Context Menus: Project Navigator
Refinement Reports Window
Window: Refinement Reports
Tab: Memory Access Patterns Report
Tab: Dependencies Report
Pane: Code Locations
Pane: Filter (in Dependencies Report Tab)
Pane: Problems and Messages (in Dependencies Report Tab)
Window: Memory Access Patters Source
Source View (Memory Access Patterns)
Assembly View (Memory Access Patterns)
Window: Dependencies Source
Pane: Code Locations
Pane: Code Locations, Source Lines
Pane: Code Location Relationships
Pane: Focus Code Location
Pane: Focus Code Location, Source Lines
Pane: Focus Code Location Call Stack
Pane: Focus Code Location Call Stack, Function Rows
Pane: Focus Code Location Call Stack, Loop Rows
Pane: Related Code Locations
Pane: Related Code Locations, Source Lines
Pane: Related Code Location Call Stack
Pane: Related Code Location Call Stack, Loop Lines
Pane: Related Code Location Call Stack, Function Lines
Pane: Relationship Diagram
Dialog Boxes
Dialog Box: Choose External Editor
Dialog Box: Create a Project
Dialog Box: Create a Result Snapshot
Dialog Box: Corresponding advixe-cl Command Options
Dialog Box: Options - Editor
Dialog Box: Options - General
Dialog Box: Options - Result Location
Dialog Box: Project Properties - Analysis Target
Dialog Box: Project Properties - Binary/Symbol Search
Dialog Box: Project Properties - Source Search
Message: No annotations found in your project
Pane: annotation assistant (in No Data Message and Survey Windows)
Pane: Project Navigator
Pane: Welcome
Pane: Filters
Suitability Report Window
Window: Suitability Report
Window: Suitability Report, Scalability Graph
Window: Suitability Report, Site Row
Window: Suitability Report, Site Details, Lock Row
Window: Suitability Report, Site Details, Site Row
Window: Suitability Report, Site Details, Task Row
Suitability Source Window
Window: Suitability Source
Pane: Call Stack (in Suitability Source)
Pane: Call Stack, Function Node
Pane: Call Stack, Loop Node
Pane: File: filename (in Suitability Source)
Pane: File: filename, Source Code
Summary Window
Window: Summary
Application Output, Collection Output, and Command Line Windows
Window: Application Output
Window: Collection Output
Window: Command Line
Pane: Application Output
Pane: Collection Output
Survey Report Window
Window: Survey Report, Function Row
Window: Survey Report, Loop Row
Window: Survey Report, Total Row
Pane: Loop Information (in Survey Report)
Column: Function Call Sites and Loops
Column: Mark for Deeper Analysis
Column: Vector Issues
Column: Self Time
Column: Total Time
Column: Type
Column: Why no Vectorization?
Column: Vectorized Loops
Column: Vector ISA
Column: Efficiency
Column: VL (Vector Length)
Column: Gain Estimate
Column: Compiler Estimated Gain
Column: Trip Counts
Column: Median (Trip Counts)
Column: Min (Trip Counts)
Column: Max (Trip Counts)
Column: Call Count (Trip Counts)
Column: Iteration Deviation (Trip Counts)
Column: Instruction Set Analysis
Column: Traits (Instruction Set Analysis)
Column: Data Types (Instruction Set Analysis)
Column: Number of Vector Registers (Instruction Set Analysis)
Column: Vector Widths (Instruction Set Analysis)
Column: Instruction Sets (Instruction Set Analysis)
Column: Advanced
Column: Transformations
Column: Unroll Factor
Column: Vectorization Details
Column: Optimization Details
Column: Location
Column: Source Location
Column: Module
Pane: Advanced View (in Survey Report)
Survey Source Window
Window: Survey Source
Pane: Call Stack (in Survey Source)
Pane: Call Stack with Loops, Loop Row
Pane: Call Stack with Loops, Function Row
Pane: File: filename (in Survey Source)
Pane: Assembly Module (in Survey Source)
Tab: Advisor Workflow
Tab: Result
Toolbar: Intel Advisor
Problem and Message Types
Dangling Lock
Data Communication
Data Communication, Child Task
Inconsistent Lock Use
Lock Hierarchy Violation
Memory Reuse
Memory Reuse, Child Task
Memory Watch
Missing End Site
Missing End Task
Missing Start Site
Missing Start Task
No Tasks in Parallel Site
One Task Instance in Parallel Site
Orphaned Task
Parallel Site Information
Thread Information
Unhandled Application Exception
Command Line Interface
Using Intel® Advisor Command Line Interface
Types of the Intel® Advisor Analysis
Analyzing MPI Workloads
About Analyzing MPI Workloads
MPI Workflow Example
advixe-cl Option Reference
About advixe-cl Command Options
collect
collect-list
convert
csv-delimiter
data-limit
display-callstack
enable-task-chunking
exclude-files
executable-of-interest
format
format-list
help
import-dir
interval
mpi-rank
mrte-mode
no-auto-finalize
no-follow-child
number-of-processors
option-file
project-dir
quiet
reduce-lock-contention
reduce-lock-overhead
reduce-site-overhead
reduce-task-overhead
report
report-list
report-output
resume-after
search-dir
start-paused
target-duration-type
threading-model
user-data-dir
verbose
version
Appendix
Glossary
Key Concepts
About Key Concepts
Parallelism
Parallel Processing Terminology
Overview of Adding Parallelism
Common Issues When Adding Parallelism
Parallel Programming Implementations
Intel® Advisor Annotations and Tools
Key Terms
Notational Conventions
Related Information
Where am I in the Workflow?
Advisor Workflow Tab Steps
1. Survey Target
2. Annotate Sources
3. Check Suitability
4. Check Dependencies
4. Check Dependencies and Fix Problems
5. Add Parallel Framework
Evaluation Features
Activating Evaluation Features