InstructionOverhead
Revision as of 13:07, 18 March 2019 by Thomas-gruber-5537@uni-erlangen.de (talk | contribs)
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.