How to get flops of my application with intel SDE?

How to get flops of my application with intel SDE?


    I want to get the FLOPS (amount of computation) of my application using SDE(Intel Software Development Emulator) , I read through the guide information on the page then I run sde -mix -- myapplication.exe; When I open the output file ,there are two many numbers;so my question is that how to get the total FLOPS of my application?


Downloadtext/plain sde-mix-out.txt773.47 KB
3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

As it says in the doc, should you wish to accept the default choice as to which are floating point instructions, you find the section of the tabulation

*elements_fp_single_1                                           36322323
*elements_fp_single_4                                           46364564
*elements_fp_double_1                                              31149

so by multiplying the 4-width parallel instruction count by 4 you get the total count of about 2.2*10^7.  Then,  (timing the application when run outside SDE) you divide by the number of seconds elapsed time.  If, for example, it took 0.01 seconds, the average rate would be about 2.2 Gflops.  Evidently, with such a short run, it will be spending a large fraction of the time on slow startup operations,, even though your numbers show an excellent ratio of > 80% vectorized with 128-bit width instructions.  You should see a large improvement if you change to AVX or AVX2 build.  Even with a run as long as is practical under SDE, you would likely wish to follow the advice on timing relevant portions of your application.

Leave a Comment

Please sign in to add a comment. Not a member? Join today