Difference between revisions of "ControlFlowIssues"
Jump to navigation
Jump to search
(Created page with "== Description == == Symptoms == == Detection == == Possible optimizations and/or fixes == == Applicable applications or algorithms or kernels ==") |
|||
Line 1: | Line 1: | ||
== Description == | == Description == | ||
+ | The pattern "Control flow issues" describes the case then the CPU core has to jump around in the instruction stream and bad prediction of condition evaluation | ||
== Symptoms == | == Symptoms == | ||
+ | * In-core throughput far away from design limit | ||
+ | * performance insensitive to data set size | ||
== Detection == | == Detection == | ||
+ | * High branch rate | ||
+ | * High ratio of mispredicted branches | ||
+ | LIKWID performance groups: BRANCH | ||
== Possible optimizations and/or fixes == | == Possible optimizations and/or fixes == | ||
+ | * Avoid conditions in inner loops | ||
== Applicable applications or algorithms or kernels == | == Applicable applications or algorithms or kernels == |
Revision as of 14:11, 18 March 2019
Description
The pattern "Control flow issues" describes the case then the CPU core has to jump around in the instruction stream and bad prediction of condition evaluation
Symptoms
- In-core throughput far away from design limit
- performance insensitive to data set size
Detection
- High branch rate
- High ratio of mispredicted branches
LIKWID performance groups: BRANCH
Possible optimizations and/or fixes
- Avoid conditions in inner loops