Difference between revisions of "PipeliningIssues"

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 ==")
 
Line 1: Line 1:
 
== Description ==
 
== Description ==
 +
Modern CPU cores use pipelines to overlap different instructions to optimally distribute work over the execution units. The pattern "Pipelining issues" describes a problem in the pipeline which causes the reduction of the overlap and consequently less utilization.
 +
  
 
== Symptoms ==
 
== Symptoms ==
 +
* In-core throughput far away from design limit
 +
* performance insensitive to data set size
  
  
 
== Detection ==
 
== Detection ==
 +
* Large integral ratio of cycles to specific instruction count(s)
 +
* bad (high) CPI
 +
 +
LIKWID performance groups: FLOPS_DP, FLOPS_SP, DATA and CLOCK
  
  

Revision as of 15:08, 18 March 2019

Description

Modern CPU cores use pipelines to overlap different instructions to optimally distribute work over the execution units. The pattern "Pipelining issues" describes a problem in the pipeline which causes the reduction of the overlap and consequently less utilization.


Symptoms

  • In-core throughput far away from design limit
  • performance insensitive to data set size


Detection

  • Large integral ratio of cycles to specific instruction count(s)
  • bad (high) CPI

LIKWID performance groups: FLOPS_DP, FLOPS_SP, DATA and CLOCK


Possible optimizations and/or fixes

Applicable applications or algorithms or kernels