InstructionOverhead

From HPC Wiki
Revision as of 08:21, 4 September 2019 by Daniel-schurhoff-de23@rwth-aachen.de (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

The pattern "Instruction Overhead" describes the fact that 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.


Symptoms

Instruction Overhead causes a low application performance and a good scaling behavior across cores. The performance is insensitive to the problem size.


Detection

  • Low CPI value (near to theoretical limit)
  • Large non-FP instruction count (constant vs. number of cores)


Possible optimizations and/or fixes

It depends on the kind of instructions. If the code is using scalar FP instructions, activate vectorization to reduce the number of instructions.


Applicable applications or algorithms or kernels