Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

how to get report about load/store and flop operations of source code

SB17
Beginner
434 Views

Hello

There is a need to understand how many load / store operations and how many flop contains the source code. Is it possible to get such statistics by the Intel compiler ?

0 Kudos
1 Solution
TimP
Honored Contributor III
434 Views

What's relatively easy to get is opt-report4 (for current releases; closest thing previously was opt-report6).  This will give you some of that for vectorized loops.

A compiler has no chance of getting you total counts which depend on adding up loop counts and intervening code.

As experts have said again recently, if you want that, your own assessment is probably best.  

There are some counters accessible by VTune et al. for certain CPU models, but that may not be what you're looking for.

Questions include do you count AVX2 fma as 1 or 2 flops, how do you count parallel and scalar simd instructions, .... for which you won't find much unanimity.

View solution in original post

0 Kudos
2 Replies
TimP
Honored Contributor III
435 Views

What's relatively easy to get is opt-report4 (for current releases; closest thing previously was opt-report6).  This will give you some of that for vectorized loops.

A compiler has no chance of getting you total counts which depend on adding up loop counts and intervening code.

As experts have said again recently, if you want that, your own assessment is probably best.  

There are some counters accessible by VTune et al. for certain CPU models, but that may not be what you're looking for.

Questions include do you count AVX2 fma as 1 or 2 flops, how do you count parallel and scalar simd instructions, .... for which you won't find much unanimity.

0 Kudos
SB17
Beginner
434 Views

You answer create many right question :)

Turns out that static analysis based on compilator is too imprecise

Thanks for your reply

 

0 Kudos
Reply