Difference between revisions of "ControlFlowIssues"

From HPC Wiki
Jump to navigation Jump to search
(Created page with "== Description == == Symptoms == == Detection == == Possible optimizations and/or fixes == == Applicable applications or algorithms or kernels ==")
 
m
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 +
[[Category:Performance Pattern]]
 
== 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 ==

Latest revision as of 15:13, 3 September 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


Applicable applications or algorithms or kernels