|
View Full Version : Stupid Question - Flops and Hertz
WhisperBlade 09-17-06, 11:16 AM Hello Forums:
I know this is a stupid question. But is there a way to convert flops to hertz so it's at least comprehensible for us lesser-computer-based folks?
I understand flops are better calculations than hertz. So what does 1 flops equal in hertz?
leopold99 09-17-06, 11:39 AM from wiki
In computing, FLOPS (or flops) is an abbreviation of Floating Point Operations Per Second.
see also:
http://en.wikipedia.org/wiki/FLOPS
edit
one hertz (hz) is equal to one cycle per second (cps)
So in short. Absolutely not. Its like asking if you can convert RPM to speed. You can, but only if you have the exact specifications of the car, such as gearing, current gear, gradient, etc.
If you gave me an architecture, and what it was running, etc. I could probably compute a ROUGH estimate of what CPU speed the computer must be running at to achieve a given FLOPS rating. But not without a lot of info.
-AntonK
Except that he is referring to the clock speed of the processor -- Hertz. Depending on your computer, most cannot do a single floating point operation in a single cycle. This why we use a measure called IPC, instructions per cycle. If that number was indeed 1 for all floating point operations, you'd be right. But it isn't.
-AntonK
leopold99 09-17-06, 03:52 PM about the only thing a computer can do in a single cycle is for it's flip-flops to change state.
Most systems can do a single cycle integer length add in a single cycle. But you also have to consider that these processors are now superscalar, SMT or CMP systems. This means they are not running a single instruction per pipeline stage. Therefore, without knowing the architecture itself, you cannot predict the CPI.
-AntonK
leopold99 09-17-06, 06:40 PM Most systems can do a single cycle integer length add in a single cycle. But you also have to consider that these processors are now superscalar, SMT or CMP systems. This means they are not running a single instruction per pipeline stage. Therefore, without knowing the architecture itself, you cannot predict the CPI.
-AntonK
yes, if both operands are in the registers. but even this requires that the result be stored
yes, if both operands are in the registers. but even this requires that the result be stored
That doesn't actually matter, because the entire thing is pipelined, as long as you keep the pipes full, you don't have to worry about the time the other stages take. Its the reason for pipelining in the first place.
Lets assume an inorder pipeline with 5 stages (ala MIPS R3000 type processor) just for something easy. If we can build a system in which each instruction takes 1 cycle in each stage, then even though a SINGLE instruction may take 5 cycles to complete, on average and in the steady state we complete an instruction every cycle. This gives us a CPI of 1.
Now even account for memory delay and hazards, most super scalar out of order exeuction system still sustain a CPI of less than 1, or an IPC of greater than 1.
-AntonK
WhisperBlade 09-17-06, 08:41 PM 280.6 TFLOPS is the speed of the worlds current fastest super computer, in Lawrence Livermore Laboratory.
So..... let's put it this way. How much faster would this be when compared to a conventional PC at say........1 or 2 giahertz?
leopold99 09-17-06, 08:43 PM Except to say that "flops are better calculations than hertz" the original posting said nothing about a clock speed.
Hertz is a general measure of frequency, not necessarily anything to do with chip clocks.
--- Ron.
computer clocks are expressed in hertz not flops
when someone says they have a 500mhz computer they are talking about clock speed.
the OP never asked directly about clock speed but it was implied.
I also agree. I believe that when the original poster was referring to hertz that he was referring to clock speeds. If this was incorrect, then I resign from the conversation. If it was correct than so was everything I stated.
-AntonK
James R 09-17-06, 09:14 PM 280.6 TFLOPS is the speed of the worlds current fastest super computer, in Lawrence Livermore Laboratory.
So..... let's put it this way. How much faster would this be when compared to a conventional PC at say........1 or 2 giahertz?
Let's say it takes 10 clock cycles to perform 1 floating point operation (i.e. 1 FLOP = 10 Hertz). Then
280.6 TFLOPS = 280.6 x 10<sup>12</sup> FLOPS = 2.806 x 10<sup>15</sup> Hz
This is equivalent to 2.806 x 10<sup>6</sup> GHz, or about 3 million times the speed of a 1 GHz machine.
Blindman 09-17-06, 10:05 PM FLOPS rating on a machine is MAX floating point instructions per second. Actual real world applications will be below this. The only way to get true floating point throughput is to benchmark the application.
If you want max performance use the GPU to do your floating point operations.
Current GPUs can have up to 16Flops/Cycle thus a 500MHZ GPU will have a max of 8GFLOPS.
You're right in that GPUs are very fast for doing SINGLE precision floating point operations, but there are some problems. First, is just that, they are only single precision, and you lose all that benefit when you need double precision. Second problem is bandwidth. If your application requires a LOT of data to be processed (as opposed to a small amount of data processed for a long time) then the bandwidth problems of getting your data in and out of the GPU may be a bottleneck.
I will admit this isn't my area of expertise. However, I have a great number of colleagues in graphics and thus have been forced to read a number of SigGraph papers. Someone else might be able to give you more details on when precisely it is good to try to offload to the GPU.
-AntonK
|