Counting FLOP may not be representative of the actual algorithm real world performance but still all the GPU manufacturers mention FLOPS as a metric of Performance on GPU. Is there any way that this metric can be misleading in terms of GPU performance?
This metric is pretty much as misleading (or useful, depending on your perspective) for GPUs as it is for CPUs.
Currently, a lot of applications/algorithm's implementations are limited more by memory throughput rather than FLOPs. Memory throughput (in GB/s) is also always listed for GPU specification and those two numbers together give a much better view on the expected GPU performance.
All of that will also apply for CPU FLOPs metric. However, in my opinion, FLOPs metric critique is even more applicable to GPUs since they are much more specialized and oriented on parallelizable computations, which can produce even bigger dependence on the particular algorithm implementation and data organization patterns.
So, can FLOPS be misleading in terms of GPU performance? Sure. Is there a reason to have them? Yes, because it gives at least some information which is even more complete with taking memory throughput into the subsequent analysis of:
- the underlying problem
- the chosen algorithm and implementation
- the chosen strategy of data organization and manipulation
- other GPU characteristics (possible parallelization mode across several GPU units, architecture and instruction support, etc.)