Community
cancel
Showing results for 
Search instead for 
Did you mean: 
arbor
Beginner
75 Views

Measuring executed floating-point operations on Haswell

Hi, I'm trying to measure the amount of floating-point operations executed on a processor with Haswell microarchitecture using performance counters under Linux. So far, I managed to measure the amount of (single precision) float multiplications using the UOPS_ISSUED.SINGLE_MUL performance event. However, this event only counts the amount of float multiplications while ignoring float additions, comparisons as well as any operations involving doubles. I also tried accessing the FP_COMP_OPS_EXE.* events (such as FP_COMP_OPS_EXE.SSE_FP_SCALAR_SINGLE) from the SandyBridge and IvyBridge microarchitectures via their raw event codes using the perf tool under Linux. The resulting counter values were always 0. Is there any way to measure the amount of float additions, comparisons, divisions as well as operations on doubles on the Haswell microarchitecture? Thanks in advance
0 Kudos
3 Replies
Bernard
Black Belt
75 Views

Usually while measuring performance on VTune  code must run longer the clock interrupt period( IIRC on Windows it should be around ~1ms-3ms).

What is the running time of your code?

arbor
Beginner
75 Views

iliyapolak wrote:

Usually while measuring performance on VTune  code must run longer the clock interrupt period( IIRC on Windows it should be around ~1ms-3ms).

What is the running time of your code?

The running time of the code is around 10.5 seconds and it executes (judging from the C code) 2 billion float additions, multiplications, divisions and comparisons each.
Bernard
Black Belt
75 Views

Probably compiler issued x87 FP instructions only.

Can you use VTune for profiling?

http://software.intel.com/en-us/articles/estimating-flops-using-event-based-sampling-ebs/

Reply