Hi, The Visual DSP++ for Tiger Sharc Gives me cycle count . How do i calculate MFLOPS from it. Regards Maria Mountford Seattle US |
|
MFLOP calculation
Started by ●May 21, 2003
Reply by ●May 21, 20032003-05-21
On Wed, 21 May 2003, maria_mount wrote: > Hi, > The Visual DSP++ for Tiger Sharc Gives me cycle count . How do i > calculate MFLOPS from it. I don't think you can. If every cycle is devoted to moving data and the shifter, there's no flops. If you know how many computations you did in all those cycles, then it's just #ops/(cycle time). You can't just look at a cycle count and know how many flops because there's more to real code than flops (usually). Patience, persistence, truth, Dr. mike |
|
Reply by ●May 21, 20032003-05-21
>> The Visual DSP++ for Tiger Sharc Gives me cycle count . How do i >> calculate MFLOPS from it. > >I don't think you can. I agree, because a processor's cycle count for a section of code is independent of the processor's FLOPS rating. Cycle counts are the number of instruction clock cycles it takes to execute the instructions that were executed. This is independent of the processor's instruction cycle rate. MFLOPS is generally reported as the number of floating-point operations a processor can perform in a single instruction cycle multiplied by the processor's instruction cycle rate. So, a processor that can, e.g., perform a floating-point multiply-add operation in a single instruction cycle at a rate of 200 megainstructions per cycle will have a rating of 400 MFLOPS. (A multiply-add operation is two operations.) So, instruction cycle counts measure the processor's true performance on a particular code section while the FLOPS metric is the processor's peak performance on floating-point operations. The instruction cycle measurement includes the housekeeping code that the FLOPS metric doesn't include. This makes the FLOPS metric rather poor in terms of its comparative value, because no two processors families are alike. There's much more to execution speed than MIPS or FLOPS ratings, because the time spent on housekeeping tasks in addition to the "real code" varies widely across different processors. Deriving a processor's performance from its FLOPS rating is like trying to find out what the real world is like based on marketing material. >If you know how many computations you did in all those cycles, >then it's just #ops/(cycle time) Well, I agree that this suggestion is a more real measurement of the processor's compute power than the MFLOPS rating, but considering how FLOPS are virtually always reported as peak values, I think your statistical estimate would yield a rather unfair measurement for that processor compared with other processors (not that FLOPS are any good for comparison in the first place). For example, the 400 MFLOPS processor example above really would have a 400 MFLOPS rating, but your estimate would probably yield a much lower rating. I think Maria is better off not trying to find any kind of equivalence between cycle counts and the FLOPS rating at all. - wolf - |