Difference between revisions of "PipeliningIssues"
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 14: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