Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
5038 Discussions

Meaning of Intel Advisor GOPS

jgwohlbier
Beginner
2,337 Views

Hi,

I'm wondering specifically what is Advisor is reporting for GFLOPS and GINTOPS. Is it reporting instructions retired and account for vector instructions? I.e., would an 8-way vector fused multiply add instruction be counted as 16 operations?

 

Thanks!

jgw

0 Kudos
1 Solution
Zakhar_M_Intel1
Employee
2,267 Views

Hi jgw,

For Advisor GINTOPS you can find instructions list at Advisor Integer Roofline article:  https://software.intel.com/content/www/us/en/develop/articles/a-brief-overview-of-integer-roofline-modeling-in-intel-advisor.html , quoted:

Currently, ADD, ADC, SUB, MUL, IMUL, DIV, IDIV, INC/DEC, shifts, rotates etc. are counted as INT Operations. For strict integer operation usage, which allows you to exclude the loop counter operations (INC/DEC, shift, rotate) which are not strictly calculations, set the environment variable: ADVIXE_EXPERIMENTAL=intops_strict This will lead to only counting ADD, MUL, IDIV and SUB operations.

FLOPS and GINTOPS are implemented so that for each instruction you multiply by operand SIMD width and taking into account (for AVX-512) mask register values. Also, for FMAs and for VNNI we count them as > 1 op (specifically, 2 for FMA). That's actually why we position Advisor FLOPS/INTOPS collectors as "Precise FLOPS counting" analysis.

 

View solution in original post

0 Kudos
8 Replies
Ruslan_M_Intel
Employee
2,324 Views

Hi,

Yes, Advisor takes into account that FMA instruction is not single operation but it's a number of operations. Specifically, for N elements we have N multiplies and N additions (for each of mul result)

0 Kudos
jgwohlbier
Beginner
2,302 Views

Thanks. Assuming that the count is based on retired instructions, would it be possible to get a list of instructions that result in counts as both GFLOPS and INTOPS?

Thanks.

jgw

 

0 Kudos
Ruslan_M_Intel
Employee
2,296 Views

I'm not sure if FMA contains any instruction which operate on both floating-point and integer data. Could you give an example?

0 Kudos
jgwohlbier
Beginner
2,291 Views

Sorry, that's not what I meant.

I am interested in a list of instructions that result in GFLOPS counts, and a list of instructions that result in GINTOPS counts. I imagine it is all of the arithmetic instructions and vector variants of those instructions, both for floats and for ints, respectively.

Thanks.

jgw

0 Kudos
Ruslan_M_Intel
Employee
2,286 Views

Unfortunately I don't have any list you need but if I remember correctly only IFMA stands for INTOP count. The rest ISAs (or their subsets) stand for FLOP count. So you could compile the list based on data from Intel Intrinsic Guide resource selecting needed ISA. BTW I'm not sure if Advisor supports IFMA yet

0 Kudos
Zakhar_M_Intel1
Employee
2,268 Views

Hi jgw,

For Advisor GINTOPS you can find instructions list at Advisor Integer Roofline article:  https://software.intel.com/content/www/us/en/develop/articles/a-brief-overview-of-integer-roofline-modeling-in-intel-advisor.html , quoted:

Currently, ADD, ADC, SUB, MUL, IMUL, DIV, IDIV, INC/DEC, shifts, rotates etc. are counted as INT Operations. For strict integer operation usage, which allows you to exclude the loop counter operations (INC/DEC, shift, rotate) which are not strictly calculations, set the environment variable: ADVIXE_EXPERIMENTAL=intops_strict This will lead to only counting ADD, MUL, IDIV and SUB operations.

FLOPS and GINTOPS are implemented so that for each instruction you multiply by operand SIMD width and taking into account (for AVX-512) mask register values. Also, for FMAs and for VNNI we count them as > 1 op (specifically, 2 for FMA). That's actually why we position Advisor FLOPS/INTOPS collectors as "Precise FLOPS counting" analysis.

 

0 Kudos
Zakhar_M_Intel1
Employee
2,162 Views

.. And (in continuation)

For the FLOP/S tool here is a high level list of classes of instructions counted:

ADD, SUB, DIV, DP, MUL, ATAN, FPREM, TAN, SIN, COS, SQRT, SUB, RCP, RSQRT, EXP, VSCALE, MAX, MIN, ABS, IMUL, IDIV, FIDIVR, CMP, VREDUCE, VRND

0 Kudos
RaeesaM_Intel
Moderator
2,218 Views

Hi,

 

Thank you for accepting the solution. We are discontinuing monitoring this thread. Please raise a new thread in case of any further issues.

 

Regards,

Raeesa

 

0 Kudos
Reply