Difference between revisions of "CodeCompositionExpensive"

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 ==
 +
The pattern "Code composition - expensive instructions" can be used to describe what happens if you use expensive instructions although there are cheaper ways.
  
 
== Symptoms ==
 
== Symptoms ==
 +
Like [[InstructionOverhead|Instruction Overhead]].
 +
 +
For a piece of high-level code, the compiler outputs a lot of instructions although is could be done in less. One common example are non-vectorized instructions.
  
  
 
== Detection ==
 
== Detection ==
 +
High CPI if the problem is large-latency arithmetic
  
  
 
== Possible optimizations and/or fixes ==
 
== Possible optimizations and/or fixes ==
 +
Reduce complexity to that the compiler can generate better code
  
  
 
== Applicable applications or algorithms or kernels ==
 
== Applicable applications or algorithms or kernels ==

Revision as of 13:31, 18 March 2019

Description

The pattern "Code composition - expensive instructions" can be used to describe what happens if you use expensive instructions although there are cheaper ways.

Symptoms

Like Instruction Overhead.

For a piece of high-level code, the compiler outputs a lot of instructions although is could be done in less. One common example are non-vectorized instructions.


Detection

High CPI if the problem is large-latency arithmetic


Possible optimizations and/or fixes

Reduce complexity to that the compiler can generate better code


Applicable applications or algorithms or kernels