Reply by Ole Wolf 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 -


Reply by Mike Rosing 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 maria_mount May 21, 20032003-05-21
Hi,
The Visual DSP++ for Tiger Sharc Gives me cycle count . How do i
calculate MFLOPS from it. Regards
Maria Mountford
Seattle
US