Qué son los TFLOPS de una CPU, GPU o consola y, ¿cómo se miden?

Qué son los TFLOPS de una CPU, GPU o consola y, ¿cómo se miden?

Javier López

Si hay algo que todo el mundo mira a la hora de comparar rendimientos entre CPUs, GPUs o consolas son los TFLOPS. Pero al mismo tiempo la gran mayoría no sabe lo que son, qué miden y sobre todo, por qué no son realmente importantes en este sector. Hoy vamos a poner blanco sobre negro en este y otros temas calculando fácilmente cómo se miden y por qué están tan sobre valorados.

Es la eterna lucha entre los que intentamos concienciar al usuario medio sobre el hecho de que los TFLOPS como medida de rendimiento no son lo principal a la hora de evaluar el desempeño de un componente o sistema, y entre aquellos que lo toman como palabra de dios.

¿Cómo entender que esta medida no es realmente representativa como tal? Bueno, conociéndola en primer lugar más a fondo.

Lo correcto sería hablar de FLOPS, ¿por qué?

GPU-NVIDIA

Básicamente porque TFLOPS no es más que una unidad de medida mayor de la que depende intrísecamente mediante los FLOPS o Floating Point Operations per Second, traducido como operaciones de coma flotante por segundo. Como bien indica su nombre, es la unidad de medida de rendimiento para PC dentro de las operaciones de coma flotante y como estándar que es está definido por varios dentro del mundo del PC como es LINPACK, por ejemplo.

Entendido esto llega la controversia, ya que hay varias formas de medir los FLOPS y por consiguiente los TFLOPS, donde estos últimos no son más que una unidad de medida más grande para reflejar miles de millones de instrucciones por segundo, en concreto diez elevado a 12 FLOPS.

Los estándares reflejan dos mediciones distintas: en tiempo real y sostenidos, donde por norma general ningún fabricante especifica exactamente cual de ellos es el que recoge en sus datos. Normalmente ofrecen el tiempo real, ya que esto suele coincidir con el peak máximo de cada componente, ofreciendo una medición algo sesgada con ello.

¿Por qué comparar con TFLOPS no es correcto?

NVIDIA Quad GPU IA

Básicamente porque los TFLOPS son una medida que no tiene en cuenta nada de la arquitectura, sino las unidades de cómputo y la velocidad o frecuencia de las mismas. Por lo tanto, deja a un lado cualquier parámetro que sí influye en el rendimiento como las entradas y salidas, la disposición de cachés, sus latencias, ALUs, buses y demás.

Por dar un ejemplo fácil y claro, la RX 5700 XT obtiene 9,754 TFLOPS, mientras que la RTX 2070 obtiene 7,465 TFLOPS, lo cual reflejaría una diferencia de un 30,66% entre ambas, sin embargo, el rendimiento es prácticamente el mismo en la vida real.

¿Cómo se llegan a estos números? Muy sencillo:

  • TFLOPS-> Shaders x 2 x frecuencia en boost
  • RTX 2070-> 2304 x 2 x 1620 -> 7.464.960 FLOPS -> 7,465 TFLOPS
  • RX 5700 XT -> 2560 x 2 x 1905 MHz -> 9.753.600 FLOPS -> 9,753 TFLOPS

Como AMD hace sus cálculos en Boost Clock, pero resulta que la frecuencia realmente nunca llega a tales niveles y está en un punto intermedio entre el Game Clock y el Base Clock, es más realista para comparar rendimientos coger este último en vez del primero, por lo que la RX 5700 XT tendría unos 8,217 TFLOPS.

Además de esto, para comparar se necesitan saber el rendimiento por vatio y la arquitectura al menos, con todas las variantes que ello implica. Esto se aplica tanto a CPUs, como a GPUs, como a consolas o cualquier componente que se precie, donde en muchos casos se suma la potencia de la CPU y la GPU cuando se trata de SoCs, lo que complica todavía más la vara de medir.