3
$\begingroup$

Is "flops" a reliable measure of deciding computational capacity? If we do matrix multiplication and matrix addition of the same size of matrix, do the flops remain the same?

Referring to question https://stackoverflow.com/questions/329174/what-is-flop-s-and-is-it-a-good-measure-of-performance

I am curious to know if I do a 100x100 matrix multiplication and matrix addition, will the FLOPS remain the same? Can I say time required by the processor (and hence FLOPS) remain same regardless of operation?

Can someone also comment on how theoretical maximum FLOPS of a processor are determined. And if FLOPS is taken as standard measure of performance, then can someone use an algorithm that will always be highly efficient but not useful in scientific computing?

$\endgroup$
  • $\begingroup$ Theorical maximum FLOPS is usually some product between the number of FP operations that could be executed every cycle and the CPU frequency (See Wikipedia). With a superscalar or SIMD CPU, you can have more than more FLOP per cycle. And of course, here FLOPs are multiplications and/or additions, not divisions or square roots. FLOPs are theorical figures for executing pointless instruction sequences, not the result from some benchmark like Whetstone or LINPACK. $\endgroup$ – TEMLIB Oct 25 '15 at 18:36
4
$\begingroup$

Much computing is shuffling data around, from memory to CPU(s) and viceversa, from disk to memory, and so on. Performance could well be determined by non-processing needs. If there are several CPUs involved (many supercomputers really do the computing on graphics cards, which are massively parallel SIMD computers), jobs that can't be sped up by processing separate data streams with the same instructions will go much slower than extensively studied and paralellized to death computations like massive matrix operations.

So the answer is no, raw FLOPS aren't a good measure of performance. Again, the only reliable performance measure for your specific problem is the performance on it. "Performance" isn't a number, it is a vector with multiple independent aspects, and the requirements of your problem are also a vector, in the same dimensions. How well they match over a wide range of possible problems to a particular machine can't be reduced to a single number.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.