advixe-cl option
convert
convert
1. survey target
2. annotate sources
3. check suitability
4. check Dependencies
4. Check Dependencies
4. Check Dependencies and Fix Problems
5. add parallel framework
about
Adding Parallelism to Your Program
About Using the Intel Advisor Annotation Definitions Files
Annotations
Choosing and Building a Target
Checking Suitability
Reducing Parallel Overhead, Lock Contention, and Enabling Chunking
Annotating Code for Deeper Analysis
Choosing the Tasks
Viewing Summary After Running All Tools
Examining Potential Dependencies
Surveying the Target Application
Fixing Sharing Problems
About Workflows
Maintaining Results
Parallelism
Problem and Message Types
Using the Sample Programs
Synchronizing Independent Updates
Collecting Trip Counts
adding parallelism
annotation definitions file
annotations
building a target
checking performance implications
checking parallel overhead, lock contention, and chunking implications
choosing the best parallel opportunities
choosing a target
choosing tasks
deciding on proposed tasks
Dependencies problems
discovering parallel opportunities
fixing sharing problems
Intel® Advisor workflows
maintaining results
multithreaded parallelism
predicted parallel sharing problems
problem and message types
sample programs
synchronizing independent updates
the sample programs
Trip Counts
add parallelism
Overview of Adding Parallelism
overview
adding
About Adding Annotations into Your Source Code
Adding Annotations in a Text Editor
5. Add Parallel Framework
Adding Parallelism to Your Program
Intel® Advisor annotations
About Adding Annotations into Your Source Code
Adding Annotations in a Text Editor
parallel framework
parallelism
adding annotations
Adding Annotations in a Text Editor
using the code editor
advanced pane survey report
Pane: Advanced View (in Survey Report)
Survey
Advisor Survey Report columns
Advisor Workflow tab
Using the Advisor Workflow Tab
Tab: Advisor Workflow
advisor-annotate.h
Handling Compilation Issues that Appear After Adding advisor-annotate.h
Controlling the Expansion of advisor-annotate.h
Including the Annotations Header File in C/C++ Sources
Referencing the Annotations Definitions Directory
controlling compiler issues
controlling expansion of
including in C/C++ modules
referencing in your project
type and symbol conflicts with windows.h
advixe-cl
About Analyzing MPI Workloads
MPI Workflow Example
MPI analysis
MPI analysis workflow
advixe-cl command
Types of the Intel® Advisor Analysis
About advixe-cl Command Options
analysis
options
advixe-cl option
collect
csv-delimiter
data-limit
display-callstack
enable-task-chunking
format
help
import-dir
interval
mpi-rank
mrte-mode
no-follow-child
number-of-processors
option-file
project-dir
reduce-site-overhead
report
report-list
report-output
resume-after
search-dir
start-paused
target-duration-type
user-data-dir
collect
csv-delimiter
data-limit
display-callstack
enable-task-chunking
format
help
import-dir
interval
mpi-rank
mrte-mode
no-follow-child
number-of-processors
option-file
project-dir
reduce-site-overhead
report
report-list
report-output
resume-after
search-dir
start-paused
target-duration-type
user-data-dir
advixe-cl command
advixe-cl Option Reference
Dialog Box: Corresponding advixe-cl Command Options
Setting Up Your Command Line Environment
options
paste options from GUI
setting up
advixe-cl option
collect-list
exclude-files
executable-of-interest
format-list
no-auto-finalize
quiet
reduce-lock-contention
reduce-lock-overhead
reduce-task-overhead
threading-model
verbose
version
collect-list
exclude-files
executable-of-interest
format-list
no-auto-finalize
quiet
reduce-lock-contention
reduce-lock-overhead
reduce-task-overhead
threading-model
verbose
version
advixe-gui command
Setting Up Your Command Line Environment
setting up
after running
Viewing Data from the Dependencies Tool
Viewing Data from the Suitability Tool
Viewing Data from the Survey Tool
Viewing Data from the Trip Counts Tool
Dependencies tool
Suitability tool
Survey tool
Trip Counts tool
Amdahl
annotate sources
ANNOTATE_EXPAND_NULL
Controlling the Expansion of advisor-annotate.h
and advisor-annotate.h
ANNOTATE_INDUCTION_USES
ANNOTATE_ITERATION_TASK (C/C++)
annotate_iteration_task (Fortran)
ANNOTATE_LOCK_ACQUIRE
annotate_lock_acquire (Fortran)
ANNOTATE_LOCK_ACQUIRE (C/C++)
ANNOTATE_LOCK_RELEASE
ANNOTATE_LOCK_RELEASE (C/C++)
annotate_lock_release(Fortran)
ANNOTATE_REDUCTION_USES
ANNOTATE_SITE_BEGIN (C/C++)
Site and Task Annotations for Simple Loops With One Task
Site and Task Annotations for Parallel Sites with Multiple Tasks
annotate_site_begin (Fortran)
Site and Task Annotations for Simple Loops With One Task
Site and Task Annotations for Parallel Sites with Multiple Tasks
ANNOTATE_SITE_END (C/C++)
Site and Task Annotations for Simple Loops With One Task
Site and Task Annotations for Parallel Sites with Multiple Tasks
annotate_site_end (Fortran)
Site and Task Annotations for Simple Loops With One Task
Site and Task Annotations for Parallel Sites with Multiple Tasks
ANNOTATE_TASK_BEGIN (C/C++)
annotate_task_begin (Fortran)
ANNOTATE_TASK_END (C/C++)
annotate_task_end (Fortran)
Annotate.LockAcquire (C#)
Annotate.LockRelease (C#)
annotation
Annotations
Adding Annotations in a Text Editor
Including the Annotations Header File in C/C++ Sources
General Characteristics of Annotations
Handling Compilation Issues that Appear After Adding advisor-annotate.h
Copying Annotations and Build Settings Using the Annotation Assistant Pane
About Using the Intel Advisor Annotation Definitions Files
Fixing Annotation-related Errors Detected by the Suitability Tool
Annotations for Parallel Sites and Tasks
Special-purpose Annotations
Message: No annotations found in your project
Window: Annotation Report
Using the Annotation Report Window to Locate Annotations
Lock Annotations
Site and Task Annotations for Simple Loops With One Task
Annotating Parallel Sites and Tasks
Site and Task Annotations for Parallel Sites with Multiple Tasks
Summary of Annotation Types
Tips for Annotation Use with C/C++ Programs
Troubleshooting Unexpected Unmatched Annotations in the Dependencies Report
about
adding
C/C++ header file
characteristics
controlling compilation issues in annotate.h
copying using Survey windows
definitions file reference
definitions include statements
errors detected by the Suitability tool
examples, copying
for Dependencies and Suitability tools
for the Dependencies tool
how to add
include file
induction operations
list of
locating in your sources
lock
loop with a single task
parallel site
parallel site with multiple tasks
reduction operations
report
special-purpose
summary of types
task
tips about advisor-annotate.h
to disable and enable other annotations
troubleshooting unmatched
types
Annotation Report
Annotation Report window
Window: Annotation Report, Clear Description of Storage Row
Context Menus: Intel® Advisor Annotation Report Window
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
Overview of the Annotation Report Window
Window: Annotation Report, Re-enable Observations at End of Region Row
Window: Annotation Report, User Memory Allocator Use Row
Window: Annotation Report, User Memory Deallocator Use Row
Window: Annotation Report, Reduction Row
Window: Annotation Report, Resume Collection Row
Window: Annotation Report, Site Row
Window: Annotation Report, Task Row
Using the Annotation Report Window to Locate Annotations
clear description of storage row
context menu
disable observations in region annotation row
extended disable collector for performance annotation row
inductive expression annotation row
lock annotation row
observe uses annotation row
overview
re-enable observations at end of region annotation row
record allocation annotation row
record deallocation annotation row
reduction annotation row
resume collection after suspension annotation row
site annotation row
task annotation row
use to locate annotations
annotations
About Adding Annotations into Your Source Code
ways to add into sources
application
Choosing and Building a Target
build requirements
application output
Pane: Application Output
during tool analysis
application output
Window: Application Output
choosing
viewing after tool analysis
Application Output pane
Application Output window
atomic operations
Intel TBB Simple Mutex - Example
Basic OpenMP Atomic Operations
Intel® TBB
OpenMP*
atomic operations, advanced
Advanced Examples of OpenMP Atomic Operations
OpenMP*
auto-finalize advixe-cl option
before running
Before Running the Dependencies Tool
Before Running the Suitability Tool
Before Running the Survey Tool
Before Running the Trip Counts Tool
Dependencies tool
Suitability tool
Survey tool
Trip Counts tool
best parallel opportunities
binary locations
Binary/Symbol Search and Source Search Locations
default
binary locations
Dialog Box: Project Properties - Binary/Symbol Search
setting project properties
binary/symbol search directories
Dialog Box: Project Properties - Binary/Symbol Search
in Project Properties pane
build settings
Build Settings for C/C++ Applications
Build Settings for Supported Languages
Build Settings for Fortran Applications
C/C++ applications for Intel® Advisor
for Intel® Advisor targets
Fortran applications for Intel® Advisor
building a target
C++ lambda expression support
C++ struct
Call Stack pane
Context Menus: Call Stack Panes
Pane: Call Stack (in Suitability Source)
Pane: Call Stack (in Survey Source)
context menus
in Suitability Source window
with loops in Survey Source window
characteristics
checking
Reducing Parallel Overhead, Lock Contention, and Enabling Chunking
4. Check Dependencies
4. Check Dependencies and Fix Problems
Verify Whether Incidental Sharing Exists
Checking Suitability
3. Check Suitability
chunking implications
Dependencies
4. Check Dependencies
4. Check Dependencies and Fix Problems
if incidental sharing exists
parallel overhead implications
performance implications
suitability
choosing
Choosing and Building a Target
Choosing a Small, Representative Data Set for the Dependencies Tool
Overview of Parallel Frameworks
Annotating Code for Deeper Analysis
Difficult Problems: Choosing a Different Set of Tasks
Choosing the Tasks
a target
a data set
a parallel framework
parallel opportunities
tasks
Difficult Problems: Choosing a Different Set of Tasks
Choosing the Tasks
chunking tasks
Cilk language - see Intel® Cilk™ Plus
class static data member
code coverage
Code Locations pane
Pane: Code Locations (in Dependencies Source Window)
Pane: Code Locations (in Dependencies Report Tab)
collect advixe-cl option
Collect Output pane
collect-list advixe-cl option
Column Function Call Sites and Loops
Column: Function Call Sites and Loops
Survey
command line
advixe-cl Option Reference
setting up
command line interface
Using Intel® Advisor Command Line Interface
Intel® Advisor
common issues when adding parallelism
common terms
concepts
contention
context menus
Context Menus: Intel® Advisor Annotation Report Window
Context Menus: Call Stack Panes
Context Menus: Intel Advisor Report Windows
Context Menus: Intel Advisor Source Windows
Context Menus: Project Navigator
Intel® Advisor Annotation Report window
Intel® Advisor Call Stack pane
Intel® Advisor Report windows
Intel® Advisor Source windows
Project Navigator pane
controlling compiler issues
controlling expansion of advisor-annotate.h
conventions
convert advixe-cl option
Correctness tool
Lock Annotations
Pane: Related Code Location Call Stack, Loop Lines
annotations for lock use
report
counted loops
Site and Task Annotations for Simple Loops With One Task
Site and Task Annotations for Parallel Sites with Multiple Tasks
Parallelize Data - Intel Cilk Plus Counted Loops
Parallelize Data - Intel TBB Counted Loops
Parallelize Data - OpenMP Counted Loops
annotations for a single task
annotations for multiple tasks
convert to Intel® Cilk™ Plus
convert to Intel® TBB
convert to OpenMP*
creating
Parallelize Functions - Intel Cilk Plus Tasks
Parallelize Functions - Intel TBB Tasks
Parallelize Functions - OpenMP Tasks
Creating the Private Memory Location
parallel tasks with Intel® Cilk™ Plus keywords
parallel tasks with Intel® TBB
parallel tasks with OpenMP* keywords
private memory location
critical section
Explicit Locking
Synchronizing Independent Updates
OpenMP Critical Sections
annotations for
lock transaction
OpenMP*
csv-delimiter advixe-cl option
dangling lock problem
data communication problem
data communication problem, child task
data parallelism
Parallel Processing Terminology
Data and Task Parallelism
definition of
examples
data set
Choosing a Small, Representative Data Set for the Dependencies Tool
for Dependencies tool
data sharing problems
Examining Potential Dependencies
Window: Refinement Reports
Dependencies tool
Refinement Report window
data sharing problems
Understanding Data Sharing Problems
Dependencies Report window
fixing
Memory Access Patterns Report window
data-limit advixe-cl option
debug build
Troubleshooting Analysis of Debug Build
troubleshooting
debugging
Debugging Parallel Programs
parallel program
deciding on proposed tasks
deeper analysis
Marking Loops for Deeper Analysis
marking loops
definitions of common terms
Dependencies Report
Problem and Message Types
problem types
Dependencies tool
Minimizing Data Collection, Result Size, and Execution Time (Dependencies)
Examining Potential Dependencies
Problem and Message Types
input data, execution time, and code coverage
issues
message types
minimizing data collection and result size
minimizing execution time
problem types
Dependencies Report
Tab: Dependencies Report
advixe-cl command
changing states
context menus
message types
overview
problem types
Dependencies Source
Dependencies tool
Special-purpose Annotations
Site and Task Annotations for Parallel Sites with Multiple Tasks
Site and Task Annotations for Simple Loops With One Task
Pause Collection and Resume Collection Annotations
Before Running the Dependencies Tool
Build Settings for C/C++ Applications
Build Settings for Fortran Applications
Using the Advisor Workflow Tab
Using the Menu Items and Toolbars
Dependencies Tool Limitations
Overview of the Dependencies Report
Pane: Focus Code Location Call Stack, Loop Rows
Pane: Related Code Locations, Source Lines
Pane: Focus Code Location Call Stack, Function Rows
Pane: Code Locations, Source Lines
Pane: Related Code Location Call Stack, Function Lines
Pane: Focus Code Location, Source Lines
Pane: Code Location Relationships
Choosing a Small, Representative Data Set for the Dependencies Tool
Annotations for Parallel Sites and Tasks
Viewing Data from the Dependencies Tool
While Running the Dependencies Tool
annotation to report more memory accesses
annotations for non-standard memory allocation
annotations for parallel sites with multiple tasks
annotations for parallel sites with single task
annotations to disable and enable other annotations
annotations to stop and resume data collection
before running
C/C++ build settings for target
Fortran build settings for target
launching
Using the Advisor Workflow Tab
Using the Menu Items and Toolbars
limitation, use of non-static variables
limitation, variables in same stack frame
overview of Dependencies Report
report
Pane: Focus Code Location Call Stack, Loop Rows
Pane: Related Code Locations, Source Lines
Pane: Focus Code Location Call Stack, Function Rows
Pane: Code Locations, Source Lines
Pane: Related Code Location Call Stack, Function Lines
Pane: Focus Code Location, Source Lines
Pane: Code Location Relationships
special-purpose annotations
specifying a data set
use of site and task annotations
viewing data
while running
dereferences
description of annotation macros
diagram
Full Workflow
Threading Workflow
Vectorization Workflow
full workflow
threading workflow
vectorization workflow
dialog box
Dialog Box: Create a Result Snapshot
Dialog Box: Project Properties - Analysis Target
create a result snapshot
project properties - analysis target
dialog box
Dialog Box: Corresponding advixe-cl Command Options
Dialog Box: Create a Project
Dialog Box: Options - General
Dialog Box: Options - Result Location
Dialog Box: Project Properties - Binary/Symbol Search
Dialog Box: Project Properties - Source Search
corresponding advixe-cl command options
create a project
options - general
options - result location
project properties - binary/symbol search
project properties - source search
discovering parallel opportunities
display-callstack advixe-cl option
dynamic extent
efficient vector operations
Intel® Xeon Phi™ Advanced Modeling Options
modeling parameter
enable-task-chunking advixe-cl option
enabling
Enabling C++11 Lambda Expression Support with Intel® TBB
Enabling Task Chunking
C++11 lambda expression support
task chunking
enabling
Intel® Xeon Phi™ Advanced Modeling Options
efficient vector operations
Enabling Intel® Cilk™ Plus
Enabling Intel® Cilk™ Plus in your Build Environment
add to your build environment
Enter index keyword
environment variable
Setting and Using Intel Advisor Environment Variables
Defining the TBBROOT Environment Variable
ADVISOR_XE_2016_DIR
BROWSER
EDITOR
export command
setting for bash shell
setting for csh
TBBROOT
VISUAL
environment variables
Limiting the Number of Threads Used by Parallel Frameworks
to limit the number of threads
errors
Sharing Problems
Fixing Annotation-related Errors Detected by the Suitability Tool
General Characteristics of Annotations
Pane: Problems and Messages (in Dependencies Report Tab)
Common Issues When Adding Parallelism
Pitfalls from Using Synchronization
Troubleshooting Undefined Linker References to dlopen or dlsym
Troubleshooting Unexpected C/C++ Compilation Errors After Adding Annotations
data sharing problems
detected by the Suitability tool
in annotations
indicator
memory data conflicts and locking problems
synchronization
undefined linker references to dlopen or dysym
unexpected compilation errors after adding annotations
examining
Examining Potential Dependencies
Examine the Task's Static and Dynamic Extent
potential Dependencies issues
task static and dynamic extent
exclude-files advixe-cl option
executable-of-interest advixe-cl option
execution time
explicit locking
external editor
Dialog Box: Options - Editor
associating with language
external editor
Dialog Box: Choose External Editor
associating with language
Filter pane
fixing
Fixing Annotation-related Errors Detected by the Suitability Tool
Fixing Sharing Problems
4. Check Dependencies and Fix Problems
annotation errors detected by the Suitability tool
data sharing problems
Dependencies problems
Focus Code Location Call Stack pane
Focus Code Location pane
follow-child advixe-cl option
format advixe-cl option
format-list advixe-cl option
general options
glossary
header file
About Using the Intel Advisor Annotation Definitions Files
Including the Annotations Header File in C/C++ Sources
include statements
including in your project
help
help advixe-cl option
hot loops
Overview of the Survey Report
Viewing Data from the Survey Tool
Viewing Data from the Trip Counts Tool
icon in Survey Report window
viewing in Survey Report window
viewing in Trip Counts Report window
hotspot
Parallel Processing Terminology
Using Amdahl's Law and Measuring the Program
definition of
locate with profiler
icons
About Source Code Availability Icons
source code availability
import-dir advixe-cl option
incidental sharing
Incidental Sharing
Verify Whether Incidental Sharing Exists
Creating the Private Memory Location
Eliminating Incidental Sharing
Examine the Task's Static and Dynamic Extent
about
check if exists
creating private memory location
eliminating
static and dynamic extent of tasks
include file, Intel® Advisor
Referencing the Annotations Definitions Directory
referencing
including the annotations definitions file
Including the Annotations Header File in C/C++ Sources
C/C++ code
including the annotations header file
inconsistent lock use problem
independent updates
induction operations
Special-purpose Annotations
special-purpose annotations
information
input data
Intel® Advisor
Pane: annotation assistant (in No Data Message and Survey Windows)
Window: Annotation Report
Build Settings for Fortran Applications
Tab: Memory Access Patterns Report
Pane: Loop Information (in Survey Report)
Window: Refinement Reports
Survey Report Window
What's New
annotation assistant in Survey windows
Annotation Report window
build settings
build a Fortran target
Dependencies Report window
Loop information
Refinement Reports window
Survey Report window
Survey Report Loop Information
what is new
Intel® Advisor
Setting and Using Intel Advisor Environment Variables
setting up command environment
Intel® Advisor
Adding Annotations in a Text Editor
Pane: Advanced View (in Survey Report)
About Using the Intel Advisor Annotation Definitions Files
Window: Application Output
Build Settings for C/C++ Applications
Choosing and Building a Target
Parallel Programming Implementations
Opening and Closing a Project Using the Intel Advisor GUI
Window: Collection Output
Column: Function Call Sites and Loops
Window: Command Line
Dialog Box: Create a Project
Window: Summary
Tab: Dependencies Report
Window: Dependencies Source
Problem and Message Types
Setting and Using Intel Advisor Environment Variables
Evaluation Features
Copying Annotations and Build Settings Using the Annotation Assistant Pane
Full Workflow
Glossary
Using the Menu Items and Toolbars
Window: Refinement Reports
Window: Suitability Report
Survey Report Window
Overview of an Intel® Advisor GUI Project and Its Targets
Specifying Project Properties Using the Intel Advisor GUI
Referencing the Annotations Definitions Directory
Tab: Result
Using the Sample Programs
Dialog Box: Options - General
About the Intel® Advisor GUI
Window: Suitability Source
Summary of Annotation Types
Window: Survey Source
Threading Workflow
Toolbar: Intel Advisor
Troubleshooting
Vectorization Workflow
Using the Advisor Workflow Tab
Tab: Advisor Workflow
About Workflows
adding annotations
advanced view survey report
annotation definitions file
Application Output window
build a C/C++ target
build requirements
choosing a parallel framework
closing a project
Collection Output window
Column Function Call Sites and Loops
Command Line window
create project in GUI
dashboard-like Summary window
Dependencies Report window
Dependencies Source window
Dependencies tool problem types
environment variables
evaluation feature(s)
examples, copying
full workflow diagram
glossary
Loop information
menu items and toolbars
opening a project
predicted parallel data sharing problems window
predicted parallel data sharing problems window
predicted parallel performance window
profile performance window
project and targets in GUI
project properties
referencing the annotation header file
result tab
sample programs
setting general options
specify project properties
standalone GUI
Suitability Report window
Suitability Source window
summary of annotation types
Summary window
Survey Report Advanced View Pane
Survey Source window
threading workflow diagram
toolbar
troubleshooting
vectorization workflow diagram
Workflow tab
Using the Advisor Workflow Tab
Tab: Advisor Workflow
workflows
Intel® Advisor
Choosing Modeling Parameters in the Suitability Report
choosing parallel modeling parameters
Intel® Cilk™ Plus
About Intel® Cilk™ Plus
Intel Cilk Plus Mutexes
Parallel Programming Implementations
Parallelize Functions - Intel Cilk Plus Tasks
Overview of Parallel Frameworks
Parallelize Data - Intel Cilk Plus Counted Loops
Intel Cilk Plus Reducers
about
add code to lock shared resources
comparison with low-level thread implementations
keywords for creating the tasks
parallel framework
parallel framework for Intel® Advisor
parallelizing counted loops
parallelizing tasks
reducers for shared resources
support by Intel® Parallel Studio XE
use of mutexes
Intel® Inspector
Intel® Threading Building Blocks
About Intel® Threading Building Blocks (Intel® TBB)
Enabling C++11 Lambda Expression Support with Intel® TBB
About Intel TBB Mutexes
Enabling Intel® Threading Building Blocks in your Build Environment
Parallel Programming Implementations
Defining the TBBROOT Environment Variable
Intel TBB Simple Mutex - Example
Overview of Parallel Frameworks
about
add C++11 lambda support to your build environment
add code to lock shared resources
add to your build environment
comparison with low-level thread implementations
defining TBBROOT
mutex
parallel framework
Overview of Parallel Frameworks
Parallel Programming Implementations
support by Intel® Parallel Studio XE
Intel® VTune™ Amplifier
interval advixe-cl option
iteration task
Site and Task Annotations for Simple Loops With One Task
annotation
key concepts
Intel® Advisor Annotations and Tools
About Key Concepts
key terms
keywords
Parallelize Functions - Intel Cilk Plus Tasks
OpenMP*
lambda expression support
limitations
Dependencies Tool Limitations
Dependencies tool
load balance
local variable
Creating the Private Memory Location
replacing
locate
Using the Annotation Report Window to Locate Annotations
annotations using the Annotation Report window
lock
Lock Annotations
Assigning Locks to Transactions
Reducing Parallel Overhead, Lock Contention, and Enabling Chunking
Reducing Lock Contention
Explicit Locking
OpenMP Locks
Reducing Lock Overhead
About Intel TBB Mutexes
annotations
assigning to transactions
contention implications
contention, reducing
explicit
OpenMP*
overhead, reducing
shared resources, using Intel TBB
lock hierarchy violation problem
loop iterations
Collecting Trip Counts
Trip Counts tool
loop trip counts
Collecting Trip Counts
Trip Counts tool
Loop Information in Survey Report
loop information pane survey report
Pane: Loop Information (in Survey Report)
Survey
loops
Parallelize Data - Intel Cilk Plus Counted Loops
Parallelize Data - Intel Cilk Plus Loops with Complex Iteration Control
Parallelize Data - Intel TBB Counted Loops
Parallelize Data - Intel TBB Loops with Complex Iteration Control
Parallelize Data - OpenMP Loops with Complex Iteration Control
Parallelize Data - OpenMP Counted Loops
Overview of the Survey Report
Viewing Data from the Trip Counts Tool
Viewing Data from the Survey Tool
convert to Intel® Cilk™ Plus
Parallelize Data - Intel Cilk Plus Counted Loops
Parallelize Data - Intel Cilk Plus Loops with Complex Iteration Control
convert to Intel® TBB
Parallelize Data - Intel TBB Counted Loops
Parallelize Data - Intel TBB Loops with Complex Iteration Control
convert to OpenMP*
Parallelize Data - OpenMP Loops with Complex Iteration Control
Parallelize Data - OpenMP Counted Loops
icon in Survey Report window
locating time-consuming
Viewing Data from the Trip Counts Tool
Viewing Data from the Survey Tool
viewing in Survey Report window
viewing in Trip Counts Report window
marking loops
Marking Loops for Deeper Analysis
deeper analysis
marking loops for deeper analysis
maximum program gain
Viewing Data from the Suitability Tool
Suitability tool
Memory Access Patterns Report
memory
Creating the Private Memory Location
creating private location
memory access
Assigning Locks to Transactions
Kinds of Sharing Problems
Memory That is Accessed Through a Pointer
assigning locks
kinds of problems
through a pointer
memory reuse problem
memory reuse problem, child task
memory watch problem
menu items
Using the Menu Items and Toolbars
Intel® Advisor
message
Message: No annotations found in your project
Troubleshooting No Data
Problem and Message Types
no annotations
no data
types
Microsoft Task Parallel Library*
minimizing data collection
Minimizing Data Collection, Result Size, and Execution Time (Dependencies)
Minimizing Data Collection, Result Size, and Execution Time (Trip Counts)
Dependencies tool
Trip Counts tool
minimizing data collection
Minimizing Data Collection, Result Size, and Execution Time (Suitability)
Minimizing Data Collection, Result Size, and Execution Time (Survey)
Suitability tool
Survey tool
minimizing target execution time
Minimizing Data Collection, Result Size, and Execution Time (Dependencies)
Dependencies tool
minimizing target execution time
Minimizing Data Collection, Result Size, and Execution Time (Suitability)
Minimizing Data Collection, Result Size, and Execution Time (Survey)
Minimizing Data Collection, Result Size, and Execution Time (Trip Counts)
Suitability tool
Survey tool
Trip Counts tool
missing end site problem
missing end task problem
missing start site problem
missing start task problem
mixing and matching
MPI
Analyzing MPI Workloads
analysis
MPI analysis
About Analyzing MPI Workloads
advixe-cl
MPI analysis workflow
MPI Workflow Example
advixe-cl
mpi sample
mpi-rank advixe-cl option
mrte-mode advixe-cl option
multiple parallel sites
mutex calls
Testing the Intel Cilk Plus Synchronization Code
Testing the Intel TBB Synchronization Code
Testing the OpenMP Synchronization Code
after adding with Intel® Cilk™ Plus
after adding with Intel® TBB
after adding with OpenMP*
mutual exclusion
OpenMP Locks
OpenMP Critical Sections
Intel Cilk Plus Mutexes
Intel TBB Simple Mutex - Example
locks with OpenMP*
OpenMP Locks
OpenMP Critical Sections
mutex with Intel® Cilk™ Plus
mutex with Intel® TBB
no annotations
Message: No annotations found in your project
Troubleshooting No Annotations Found
message
troubleshooting
no data message
Troubleshooting No Data
troubleshooting
no tasks in parallel site problem
no-auto-finalize advixe-cl option
no-follow-child advixe-cl option
notational conventions
nqueens sample (Intel® Advisor)
number-of-processors advixe-cl option
one task in parallel site problem
opening a project
OpenMP*
About OpenMP*
OpenMP Critical Sections
Enabling OpenMP* in your Build Environment
Advanced Examples of OpenMP Atomic Operations
Basic OpenMP Atomic Operations
Parallel Programming Implementations
Parallelize Functions - OpenMP Tasks
OpenMP Locks
Overview of Parallel Frameworks
OpenMP Reduction Operations
about
add code for critical sections
add to your build environment
advanced atomic operations
atomic operations
comparison with low-level thread implementations
fine-grain synchronization using atomic operations
keywords for creating the tasks
locks
OpenMP*
OpenMP Critical Sections
course-grain synchronization using critical sections
parallel framework
parallel framework for Intel® Advisor
reduction operations
support by Intel® Parallel Studio XE
opportunities for parallelism
Surveying the Target Application
Before Annotating Code for Deeper Analysis
option-file advixe-cl option
options
advixe-cl Option Reference
advixe-cl
general
result location
options
Dialog Box: Options - Editor
editor for Source window
external editor for Source window
orphaned task problem
overhead
Reducing Lock Overhead
Reducing Site Overhead
lock
parallel site
overhead, reducing
parallel code regions - see parallel site
parallel framework
About Adding OpenMP Code to Synchronize the Shared Resources
About Intel TBB Mutexes
Intel Cilk Plus Reducers
Overview of Parallel Frameworks
About OpenMP*
Using Other Parallel Frameworks
add code to lock shared resources
add code to lock shared resources
About Intel TBB Mutexes
Intel Cilk Plus Reducers
choosing
Intel® Cilk™ Plus
Intel® Threading Building Blocks
OpenMP*
About OpenMP*
Overview of Parallel Frameworks
using other
parallel overhead implications
parallel programming
parallel site
Annotating Parallel Sites and Tasks
Multiple Parallel Sites
Site and Task Annotations for Simple Loops With One Task
Site and Task Annotations for Parallel Sites with Multiple Tasks
Annotating Code for Deeper Analysis
Fixing Problems in Code Used by Multiple Parallel Sites
Parallel Site Information
Reducing Site Overhead
Task Patterns
Task Organization and Annotations
Using Partially Parallel Programs with Intel Advisor Tools
add annotations for
adding multiple
annotation
annotations
Site and Task Annotations for Simple Loops With One Task
Site and Task Annotations for Parallel Sites with Multiple Tasks
annotations for multiple tasks
choosing
definition of
fixing problems in multiple sites
information problem
multiple
overhead, reducing
relationship to parallel tasks
rules about location in files
task organization
using multiple
using partially parallel program
parallel task
Annotating Parallel Sites and Tasks
Site and Task Annotations for Parallel Sites with Multiple Tasks
Parallelize Functions - Intel TBB Tasks
Annotating Code for Deeper Analysis
add annotations for
annotation
create with Intel® TBB
relationship to parallel site
parallel task - see also task
parallelism
Surveying the Target Application
about
add Intel® Cilk™ Plus code after preparing serial program
add Intel® TBB code after preparing serial program
add OpenMP* code after preparing serial program
adding to your serial program
advantages of high-level parallel frameworks
available parallel frameworks
Overview of Parallel Frameworks
Using Other Parallel Frameworks
common problems
debugging parallel program
find hotspots
finding places to add
key concepts
kinds of sharing problems
locating hot loops
Viewing Data from the Trip Counts Tool
Viewing Data from the Survey Tool
locating time-consuming loops
Viewing Data from the Trip Counts Tool
Viewing Data from the Survey Tool
methodology for existing serial applications
About Workflows
Full Workflow
overview
performance benefits
potential speed-up
terminology
types of implementations
using partially parallel program
performance implications
pitfalls
Pitfalls from Using Synchronization
from using synchronization
pointer
Pointer Dereferences
Memory That is Accessed Through a Pointer
dereferences
to access memory
potential Dependencies issues
predicting parallel performance
Overview of the Suitability Report
Suitability Report window
problem
Difficult Problems: Choosing a Different Set of Tasks
Understanding Data Sharing Problems
Fixing Problems in Code Used by Multiple Parallel Sites
Parallel Site Information
Sharing Problems
Problem Solving Strategies
Problem and Message Types
choosing tasks
data sharing
multiple parallel sites
parallel site information
sharing
solving strategies
types
Problems and Messages pane
product documentation
profile (Survey) tool
Overview of the Survey Report
overview of report
program Dependencies
Examining Potential Dependencies
Dependencies tool
program (target)
Choosing and Building a Target
build requirements
project
Build Settings for C/C++ Applications
Dialog Box: Create a Project
Creating a Project Using the Intel Advisor GUI
Creating a Read-only Result Snapshot
Specifying Project Properties Using the Intel Advisor GUI
Using the Sample Programs
Referencing the Annotations Definitions Directory
build settings for Intel® Advisor tools
create
Dialog Box: Create a Project
Creating a Project Using the Intel Advisor GUI
creating read-only result snapshot
properties
provided with sample programs
referencing the annotations header file
use by sample programs
Project Properties dialog box
Dialog Box: Project Properties - Analysis Target
Binary/Symbol Search and Source Search Locations
Analysis Target tab
default binary and symbol locations
default source code locations
Project Navigator pane
Project Navigator pane
Context Menus: Project Navigator
context menus
Project Properties dialog box
Dialog Box: Project Properties - Binary/Symbol Search
Dialog Box: Project Properties - Source Search
Binary/Symbol Search tab
Source Search tab
project-dir advixe-cl option
proposed tasks
quiet advixe-cl option
recursive algorithm considerations
reduce
Reducing Lock Contention
Reducing Lock Overhead
Reducing Task Overhead
Reducing Site Overhead
lock contention
lock overhead
overhead
parallel site overhead
task overhead
reduce-lock-contention advixe-cl option
reduce-lock-overhead advixe-cl option
reduce-site-overhead advixe-cl options
reduce-task-overhead advixe-cl option
reducers
Intel Cilk Plus Reducers
for shared resources
reduction operations
OpenMP Reduction Operations
Special-purpose Annotations
OpenMP*
special-purpose annotations
referencing the annotations definitions file
Referencing the Annotations Definitions Directory
Fortran code
referencing the annotations definitions file
Referencing the Annotations Definitions Directory
C/C++ code
referencing the annotations definitions file
Refinement Report
Related Code Location Call Stack pane
Related Code Locations pane
related information
Relationship Diagram pane
release build
Troubleshooting Analysis of Release Build
troubleshooting
report
Pane: Related Code Location Call Stack, Loop Lines
Pane: Focus Code Location Call Stack, Loop Rows
Pane: Related Code Locations, Source Lines
Pane: Focus Code Location Call Stack, Function Rows
Pane: Code Locations, Source Lines
Pane: Related Code Location Call Stack, Function Lines
Pane: Focus Code Location, Source Lines
Pane: Code Location Relationships
Pane: Call Stack, Function Node
Pane: File: filename, Source Code (in Suitability Source)
Pane: Call Stack, Loop Node
Pane: Call Stack with Loops, Loop Row
Pane: Call Stack with Loops, Function Row
correctness
Dependencies
Pane: Focus Code Location Call Stack, Loop Rows
Pane: Related Code Locations, Source Lines
Pane: Focus Code Location Call Stack, Function Rows
Pane: Code Locations, Source Lines
Pane: Related Code Location Call Stack, Function Lines
Pane: Focus Code Location, Source Lines
Pane: Code Location Relationships
suitability
Pane: Call Stack, Function Node
Pane: File: filename, Source Code (in Suitability Source)
Pane: Call Stack, Loop Node
survey
Pane: Call Stack with Loops, Loop Row
Pane: Call Stack with Loops, Function Row
report window
Tab: Memory Access Patterns Report
Window: Refinement Reports
Memory Access Patterns
Refinement
report advixe-cl option
report window
Tab: Dependencies Report
Window: Suitability Report
Survey Report Window
Dependencies
Suitability
Survey
report-list advixe-cl option
report-output advixe-cl option
requirements
Build Settings for C/C++ Applications
for target
result
Saving Results to a Custom Location
Dialog Box: Create a Result Snapshot
Creating a Read-only Result Snapshot
Deleting a Result
Maintaining Results
Opening a Result
Renaming Existing Results
configure location
create read-only snapshot (dialog box)
creating read-only snapshot
delete
maintaining
open
rename
view
result location options
result tab
resume-after advixe-cl option
sample programs
Locating the Samples Files
Sample Program Characteristics
Using the Sample Programs
copying
description of each
Intel® Advisor
launching in Microsoft Visual Studio*
locating
scalability graph
Viewing Data from the Suitability Tool
Suitability tool
scalability graph
Window: Suitability Report, Scalability Graph
in Suitability Report window
search-dir advixe-cl option
shared memory problem
Examining Potential Dependencies
predicting with Dependencies tool
shared memory problem
Viewing Data from the Dependencies Tool
using Dependencies output
shared memory access
Problem and Message Types
problem types (Dependencies tool)
shared memory problem
Common Issues When Adding Parallelism
about fixing
assigning locks to transactions
data race condition
definition
eliminating incidental sharing
incidental
independent updates
kinds of
locking
locking problems
memory accessed through a pointer
solving
synchronization errors
transactions
types
use synchronization to fix
simple mutex
Testing the Intel Cilk Plus Synchronization Code
Testing the Intel TBB Synchronization Code
Testing the OpenMP Synchronization Code
Intel Cilk Plus Mutexes
Intel TBB Simple Mutex - Example
after adding with Intel® Cilk™ Plus
after adding with Intel® TBB
after adding with OpenMP*
Intel® Cilk™ Plus
Intel® TBB
size of the task
small loop bodies
solving strategies
source code
Binary/Symbol Search and Source Search Locations
default search locations
source code
2. Annotate Sources
About Source Code Availability Icons
annotate
availability for editing
Source filename pane
Pane: Source: filename (in Survey Source)
Pane: Assembly Module (in Survey Source)
Pane: File: filename (in Suitability Source)
source search locations
Binary/Symbol Search and Source Search Locations
Dialog Box: Project Properties - Source Search
default
setting project properties
source window
Context Menus: Intel Advisor Source Windows
Window: Dependencies Source
Window: Suitability Source
Window: Survey Source
context menus
Dependencies
Suitability
Survey
special-purpose annotations
standalone GUI
Creating a Project Using the Intel Advisor GUI
About the Intel® Advisor GUI
Opening and Closing a Project Using the Intel Advisor GUI
Dialog Box: Corresponding advixe-cl Command Options
Specifying Project Properties Using the Intel Advisor GUI
create project
Intel® Advisor
opening a project
paste command options
specify project properties
start-paused advixe-cl option
states
Changing States
changing in Dependencies Report window
static extent
static or global variable
Creating the Private Memory Location
replacing
stats sample
structure field
Creating the Private Memory Location
replacing
Suitability tool
Checking Suitability
Fortran build settings for target
Suitability Report
Window: Suitability Report
site details
advixe-cl command
overview
Selected Site pane scalability graph
site details lock row
site details site row
site row
Suitability Report window
Choosing Modeling Parameters in the Suitability Report
choosing modeling parameters
Suitability Source
Suitability Source window
Pane: Call Stack (in Suitability Source)
Call Stack pane
Suitability tool
Site and Task Annotations for Simple Loops With One Task
Site and Task Annotations for Parallel Sites with Multiple Tasks
Pause Collection and Resume Collection Annotations
Before Running the Suitability Tool
Build Settings for C/C++ Applications
Pane: Call Stack, Function Node
Pane: Call Stack, Loop Node
Choosing Modeling Parameters in the Suitability Report
Fixing Annotation-related Errors Detected by the Suitability Tool
Using the Advisor Workflow Tab
Using the Menu Items and Toolbars
Minimizing Data Collection, Result Size, and Execution Time (Suitability)
Overview of the Suitability Report
Reducing Parallel Overhead, Lock Contention, and Enabling Chunking
Pane: File: filename, Source Code (in Suitability Source)
Window: Suitability Source
Annotations for Parallel Sites and Tasks
Viewing Data from the Suitability Tool
While Running the Suitability Tool
annotations for parallel sites with a single task
annotations for parallel sites with multiple tasks
annotations to stop and resume data collection
before running
build settings for target
C/C++ build settings for target
call stack pane
Pane: Call Stack, Function Node
Pane: Call Stack, Loop Node
choosing modeling parameters
fixing errors detected by
launching
Using the Advisor Workflow Tab
Using the Menu Items and Toolbars
minimizing data collection and result size
minimizing execution time
overview of Suitability Report
parallel overhead, lock contention, and chunking implications
source code
source window
use of site and task annotations
viewing data
while running
summary of annotations
Summary window
Window: Summary
using to decide on proposed tasks
viewing after running all tools
supported target executables
Survey tool
Build Settings for C/C++ Applications
Build Settings for Fortran Applications
Viewing Data from the Survey Tool
build settings for target
Fortran build settings for target
viewing data
Survey Report
Survey Report Window
Pane: Advanced View (in Survey Report)
advixe-cl command
context menus
function row
loop row
overview
total row
Survey Report
Troubleshooting Survey Tool does not Display Survey Report
not displayed by Survey tool
Survey Source
Survey tool
Pause Collection and Resume Collection Annotations
Before Running the Survey Tool
Build Settings for C/C++ Applications
Using the Advisor Workflow Tab
Using the Menu Items and Toolbars
Minimizing Data Collection, Result Size, and Execution Time (Survey)
Overview of the Survey Report
Pane: Call Stack with Loops, Loop Row
Pane: Call Stack with Loops, Function Row
Pane: Call Stack (in Survey Source)
While Running the Trip Counts Tool
While Running the Survey Tool
annotations to stop and resume data collection
before running
C/C++ build settings for target
launching
Using the Advisor Workflow Tab
Using the Menu Items and Toolbars
minimizing data collection and result size
minimizing execution time
overview of Survey Report
report
Pane: Call Stack with Loops, Loop Row
Pane: Call Stack with Loops, Function Row
source window call stack
while running
While Running the Trip Counts Tool
While Running the Survey Tool
surveying
1. Survey Target
target program
symbol conflicts with windows.h
symbol locations
Binary/Symbol Search and Source Search Locations
default
synchronization
Synchronization
for transactions
of independent updates
pitfalls
synchronizing updates
tab
tachyon sample
target
Build Settings for C/C++ Applications
Choosing and Building a Target
Understanding Supported Targets
build settings
build requirements
building
choosing
requirements
target executable
Dialog Box: Project Properties - Analysis Target
in Project Properties dialog box
target executable
Build Settings for C/C++ Applications
Build Settings for Fortran Applications
Choosing and Building a Target
build settings for C/C++ native applications
build settings for Fortran applications
requirements
target-duration-type advixe-cl option
task
Reducing Task Overhead
organization
add annotations for
choosing
Difficult Problems: Choosing a Different Set of Tasks
Choosing the Tasks
Annotating Code for Deeper Analysis
chunking
data sharing problems
definition of
Parallel Processing Terminology
Annotating Code for Deeper Analysis
dynamic extent
identifying
interactions
mixing and matching
overhead
parallelism
patterns
relation to parallel site
rules about location in parallel sites
size considerations
static extent
suitability
using the Summary window to help you decide
TBB - see Intel® Threading Building Blocks
TBBROOT environment variable
Defining the TBBROOT Environment Variable
defining
terminology
Glossary
Key Terms
Parallel Processing Terminology
glossary
key terms
parallelism
thread
Common Issues When Adding Parallelism
Parallel Processing Terminology
Parallel Programming Implementations
common issues
definition of
low-level implementations
thread information problem
threading-model advixe-cl option
threads
Limiting the Number of Threads Used by Parallel Frameworks
limiting the number of
toolbar
Using the Menu Items and Toolbars
Intel® Advisor
transaction
Assigning Locks to Transactions
assigning lock
Trip Counts tool
Minimizing Data Collection, Result Size, and Execution Time (Trip Counts)
Viewing Data from the Trip Counts Tool
minimizing data collection and result size
minimizing execution time
viewing data
Trip Counts tool
Before Running the Trip Counts Tool
before running
troubleshooting
Troubleshooting Analysis of Debug Build
Troubleshooting Debug Information Not Available
Troubleshooting No Annotations Found
Troubleshooting No Data
Troubleshooting Analysis of Release Build
Troubleshooting Source Not Available
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
debug build issues
debug information not available
no annotations
no data message
release build issues
source not available
undefined linker references to dlopen or dysym
unexpected compilation errors after adding annotations
unexpected unmatched annotations in Dependencies Report
type and symbol conflicts with windows.h
types of annotations
understanding
Annotations
Understanding Data Sharing Problems
About Workflows
Parallelism
Understanding Supported Targets
Choosing and Building a Target
annotations
data sharing problems
Intel® Advisor workflow
parallelism
supported targets
target executable requirements
Unhandled Application Exception
user interface
About the Intel® Advisor GUI
Intel® Advisor
user-data-dir advixe-cl option
vector operations
Intel® Xeon Phi™ Advanced Modeling Options
modeling parameter
verbose advixe-cl option
verify
Verify Whether Incidental Sharing Exists
if incidental sharing exists
version advixe-cl option
viewing data
Viewing Data from the Dependencies Tool
Viewing Data from the Survey Tool
Viewing Data from the Trip Counts Tool
Viewing Data from the Suitability Tool
Dependencies tool
profile (Survey) tool
profile (Trip Counts) tool
Suitability tool
Survey tool
Trip Counts tool
Welcome pane
what is new
What's New
in Intel® Advisor
while running
While Running the Dependencies Tool
While Running the Suitability Tool
While Running the Survey Tool
While Running the Trip Counts Tool
Dependencies tool
Suitability tool
Survey tool
Trip Counts tool
windows.h
workflow
About Workflows
Vectorization Workflow
Threading Workflow
Full Workflow
2. Annotate Sources
3. Check Suitability
4. Check Dependencies
4. Check Dependencies and Fix Problems
5. Add Parallel Framework
1. Survey Target
Using the Advisor Workflow Tab
How to Use the Workflow
about
diagram
Vectorization Workflow
Threading Workflow
Full Workflow
diagram (threading)
diagram (vectorization)
diagram (full)
full diagram
methodology for existing serial applications
step 2. annotate sources
step 3. check suitability
step 4. check Dependencies
4. Check Dependencies
4. Check Dependencies and Fix Problems
step 5. add parallel framework
step 1. survey target
tab
threading diagram
using
vectorization diagram
workflow steps
About Replacing Annotations with OpenMP Code
About Replacing Annotations with Intel® Cilk™ Plus Code
Adding Parallelism to Your Program
About Replacing Annotations with Intel® TBB Code
Checking Suitability
Choosing and Building a Target
Annotating Code for Deeper Analysis
Viewing Summary After Running All Tools
Surveying the Target Application
Examining Potential Dependencies
Fixing Sharing Problems
add parallelism
About Replacing Annotations with OpenMP Code
About Replacing Annotations with Intel® Cilk™ Plus Code
Adding Parallelism to Your Program
About Replacing Annotations with Intel® TBB Code
check performance implications
choose and build a target
choose and mark the best parallel opportunities
deciding on proposed tasks
discovering parallel opportunities
examine potential Dependencies issues
fix sharing problems
workflow tab
Tab: Advisor Workflow
Intel® Advisor
zero-copy annotations