Guía Hardware

FLOPS y tarjetas gráficas: ¿Por qué son fundamentales las operaciones de coma flotante?

Actualizado a: 22 de enero de 2024

Los FLOPS son una unidad muy relacionada con el coma flotante que ya analizamos en este mismo blog. Ahora vamos a ver qué relación guarda esto con las tarjetas gráficas o GPUs y si realmente es importante a la hora de medir rendimiento y comparar.

¿Qué es un FLOPS?

coma flotante

Los FLOPS (operaciones de Coma Flotante por Segundo, por sus siglas en inglés, o Floating Point Operations Per Second) son una medida de rendimiento utilizada para evaluar el desempeño de unidades de procesamiento como la CPU y la GPU. Representan la cantidad de operaciones de coma flotante que una máquina puede procesar en un segundo.

El término «coma flotante» se refiere a un método de codificación de números reales dentro de los límites de precisión finita disponibles en las computadoras. A diferencia de los números enteros, los números de coma flotante requieren más recursos y ciclos de reloj para ser procesados. Para estandarizar esta codificación, se creó el estándar ANSI/IEEE STD 754-1985, que define diferentes precisiones de coma flotante, como FP64, FP32, FP16, FP8, etc.

Los datos de coma flotante son especialmente importantes en aplicaciones científicas y multimedia, como el procesamiento gráfico. Por lo tanto, los FLOPS adquieren relevancia en campos como la computación de alto rendimiento (HPC) y las tarjetas gráficas.

Además de los FLOPS, existe otra medida de rendimiento llamada MIPS (Millones de Instrucciones por Segundo), que se utiliza para evaluar el rendimiento en cargas de trabajo diferentes, como bases de datos, procesamiento de texto o hojas de cálculo. También existe la unidad IOPS (Operaciones de Enteros por Segundo), que es el equivalente de los FLOPS para números enteros.

La idea de utilizar la magnitud de los FLOPS como una medida comparativa de rendimiento fue propuesta por Frank H. McMahon en el National Lawrence Livermore Lab. Anteriormente, se utilizaba el MIPS para comparar el rendimiento de las computadoras personales, pero resultaba menos adecuado para supercomputadoras y aplicaciones de mayor escala.

Múltiplos del FLOPS

En este artículo nos enfocaremos en los FLOPS, que son una unidad de medida derivada de los FLOPS originales propuestos por McMahon. En aquel entonces, las máquinas de esa época solo podían procesar un número limitado de operaciones de coma flotante por segundo, por lo que no se requerían múltiplos adicionales. Sin embargo, a medida que las unidades de procesamiento actuales y las supercomputadoras han alcanzado un rendimiento masivo, se necesitan medidas mucho mayores para representar adecuadamente su capacidad de procesamiento.

Prefijo del múltiploAbreviaciónOrden de magnitudNombre completo
giga-G109gigaFLOPS
(GFLOPS)
tera-T1012teraFLOPS
(TFLOPS)
peta-P1015petaFLOPS
(PFLOPS)
exa-E1018exaFLOPS
(EFLOPS)
zetta-Z1021zettaFLOPS
(ZFLOPS)
yotta-Y1024yottaFLOPS
(YFLOPS)

En un principio también se usaron otros múltiplos más pequeños, como los KFLOPS, MFLOPS o MegaFLOPS, pero ahora es absurdo usar esta unidad para la mayoría de las unidades de procesamiento actuales. Ya se habla de Tera, Peta y Exa-escala en el ámbito de la supercomputación.

Ejemplos

A lo largo de la historia, se han registrado los rendimientos alcanzados por diversas CPUs y GPUs populares, así como por las supercomputadoras más potentes del mundo. Estos registros nos brindan valiosas conclusiones, como la notable diferencia de rendimiento entre las CPUs y las GPUs, lo que ha llevado a preferir el uso de la GPU como acelerador en cargas de trabajo científicas o de inteligencia artificial.

A continuación, presentamos algunos ejemplos:

  • El procesador Intel Core i5-9600K @ 3.7 GHz logró alcanzar una marca de 37.73 GFLOPS, es decir, aproximadamente 0.03773 TeraFLOPS.
  • El Apple M1 puede alcanzar los 154 GFLOPS, o 0.154 TeraFLOPS.
  • Un procesador ARM de una Raspberry Pi 4B podría llegar hasta los 6.69 GFLOPS, o alrededor de 0.006 TeraFLOPS.
  • En 2008, se puso en funcionamiento el IBM Roadrunner, uno de los supercomputadores más potentes de aquel momento que encabezó la lista Top500. Tenía una capacidad de procesamiento de 1 PetaFLOPS, es decir, 1000 TeraFLOPS. Si bien esto puede parecer impresionante, es importante destacar que una sola tarjeta gráfica de la época, como la AMD Radeon HD 4800, fue una de las primeras en alcanzar un TeraFLOPS. Posteriormente, en agosto del mismo año, se lanzó la AMD Radeon HD 4870X2 con dos GPUs Radeon R770 que alcanzaban los 2.4 TeraFLOPS.

Estos datos evidencian el potencial superior de las tarjetas gráficas o GPUs en comparación con las CPUs.

¿Por qué las GPUs consiguen más FLOPS que las CPUs?

gpu

Una GPU tiene un mayor número de FLOPS en comparación con una CPU debido a varias razones:

  • Arquitectura especializada: las GPUs están diseñadas específicamente para realizar operaciones paralelas y tareas de procesamiento intensivo, como cálculos gráficos y computación científica. Su arquitectura masivamente paralela les permite ejecutar simultáneamente un gran número de hilos y realizar múltiples cálculos en paralelo. Por otro lado, las CPUs están diseñadas para manejar tareas generales de propósito múltiple, lo que significa que están optimizadas para un rendimiento equilibrado en una amplia variedad de tareas.
  • Número de núcleos: tienen una gran cantidad de núcleos de procesamiento, a menudo cientos o miles de ellos, mientras que las CPUs suelen tener menos núcleos (generalmente menos de 10). Esto permite que las GPUs realicen múltiples operaciones simultáneamente, lo que resulta en un mayor rendimiento en términos de FLOPS.
  • Jerarquía de memoria: suelen tener una memoria de alta velocidad y alta capacidad, junto con una memoria caché más grande, lo que les permite acceder rápidamente a los datos necesarios para realizar cálculos complejos. Esta configuración de memoria optimizada es beneficiosa para aplicaciones que requieren un acceso rápido a grandes conjuntos de datos, como cálculos gráficos y procesamiento de imágenes.
  • Optimización para cómputo masivamente paralelo: están diseñadas para ejecutar operaciones en paralelo en grandes conjuntos de datos. Tienen una estructura de control de flujo más simple que las CPUs, lo que las hace más eficientes para realizar cálculos repetitivos o aplicar algoritmos a datos masivos. Esto las convierte en una opción preferida para aplicaciones que se benefician de la capacidad de procesamiento en paralelo, como el procesamiento de gráficos, el aprendizaje automático y la inteligencia artificial.

FLOPS y rendimiento en videojuegos

configuraciones PC gaming

Los FLOPS de una GPU tienen un impacto significativo en el rendimiento de los videojuegos. Los FLOPS son una medida de la capacidad de cálculo de una GPU, lo que significa que cuantos más FLOPS pueda procesar en un segundo, mayor será su capacidad para realizar cálculos complejos necesarios para renderizar gráficos en 3D y ejecutar otros efectos visuales en los videojuegos.

El rendimiento de los videojuegos depende en gran medida de la capacidad de la GPU para realizar rápidamente una gran cantidad de operaciones matemáticas, como transformaciones de vértices, cálculos de iluminación, sombreado, efectos de partículas y física del juego. Cuanto más alto sea el número de FLOPS de una GPU, mayor será su capacidad para manejar estas tareas computacionalmente intensivas y generar gráficos más complejos, detallados y realistas en los juegos.

Sin embargo, es importante tener en cuenta que los FLOPS por sí solos no son la única métrica para evaluar el rendimiento de una GPU en los videojuegos. Otros factores, como la arquitectura de la GPU, el ancho de banda de la memoria, la velocidad de reloj y la eficiencia de las instrucciones también influyen en el rendimiento global de los juegos. Por lo tanto, aunque los FLOPS son una medida importante, se recomienda considerar múltiples aspectos técnicos al seleccionar una GPU para obtener el mejor rendimiento en los videojuegos.

El propósito de este artículo es abordar la creciente popularidad de utilizar FLOPS como unidad de medida para evaluar el rendimiento de las tarjetas gráficas de última generación en juegos. Sin embargo, surge la pregunta de si los TeraFLOPS son realmente tan relevantes como parecen en el contexto de los videojuegos.

De antemano, puedo decirte que los FLOPS solo son significativos para aplicaciones científicas o para computación de alto rendimiento (HPC, por sus siglas en inglés), donde su importancia radica en las cargas de trabajo específicas utilizadas. Especialmente, cuando se utilizan como GPGPU para aceleración de propósito general. Pero no tanto para los juegos… ¿Quieres ver la evidencia? Continuemos.

Por ejemplo, observa esta tabla:

GPUFP32 TeraFLOPSFP64 TeraFLOPSRatio
GeForce RTX 309035,5800,556FP64 = 1/64 FP32
GeForce RTX 308029,7700,465FP64 = 1/64 FP32
Radeon RX 6900 XT23,0401,440FP64 = 1/16 FP32
Radeon RX 6800 XT20,7401,296FP64 = 1/16 FP32

Como podemos observar, una AMD Radeon RX 6900 XT puede alcanzar un rendimiento de cómputo en coma flotante de hasta 1,4 TeraFLOPS, mientras que una NVIDIA GeForce RTX 3090 puede llegar a aproximadamente 0,5 TeraFLOPS en coma flotante de doble precisión (FP64). Para tener una idea, la nueva GeForce RTX 4090 puede llegar a los 83 TeraFLOPS en FP32, lo que casi duplica el rendimiento de la RTX 3090 y cuadruplica el de la Radeon RX 6900 XT. En cuanto a FP64, la RTX 4090 puede alcanzar 1,29 TeraFLOPS. Por otro lado, la AMD Radeon RX 7900 XTX puede alcanzar los 61,42 TeraFLOPS en FP32 y 1,91 TeraFLOPS en FP64.

Ahora te planteo las siguientes preguntas para reflexionar:

  • ¿La GeForce RTX 3090 es un 35% más potente que la Radeon RX 6900 XT, como sugieren los datos en FP32?
  • ¿La GeForce RTX 3090 es la mitad de potente que la Radeon RX 6800 XT, como indican los datos en FP64?
  • ¿La nueva RTX 4090 es más del doble de potente que una RTX 3090, como sugieren los datos en coma flotante?
  • ¿La Radeon RX 7900 XTX es mucho más potente que la RTX 4090, como indican los datos en FP64? ¿O es la RTX 4090 considerablemente superior a la RX 7900 XTX, como indican los datos en FP32?

La verdad es que la respuesta a todas estas preguntas es negativa. Los datos de TeraFLOPS no determinan el rendimiento que se obtiene en las pruebas de videojuegos. Solo son una medida adecuada para evaluar el rendimiento de cálculo en coma flotante de las GPUs, y esto dependerá en gran medida de factores como la cantidad de unidades de coma flotante (FPUs) y la arquitectura utilizada.

Pixel Rate y Texture Rate

TAA o TSAA (Temporal Anti-Aliasing)

Finalmente, examinemos tres ejemplos adicionales que nos permitirán abordar la pregunta de qué métricas utilizar para evaluar el rendimiento en juegos de manera más precisa que los FLOPS. A continuación, analizaremos tres modelos de última generación:

TeraFLOPS FP32TeraFLOPS FP64Pixel RateTexture Rate
NVIDIA GeForce RTX 409082,581,29443,51290
AMD Radeon RX 7900 XTX61,421,91479,8959,6
Intel Arc A77019,661307,2614,4

Si consideramos las pruebas de rendimiento realizadas en juegos, el orden de rendimiento de estas tarjetas gráficas sería el siguiente:

  1. NVIDIA GeForce RTX 4090
  2. AMD Radeon RX 7900 XTX
  3. Intel Arc A770

A primera vista, podría parecer que están clasificadas según el rendimiento en FP32, pero las grandes diferencias entre ellas no reflejan las diferencias reales de rendimiento en juegos. Además, si observamos el rendimiento en FP64, la AMD debería ser la más potente de las tres, y esto tampoco se refleja en los juegos.

¿Y qué hay de la tasa de píxeles y la tasa de texturas? Estas métricas indican la capacidad de la GPU para generar píxeles y texturas, respectivamente. ¿Son estas mejores unidades para medir el rendimiento? Podrían ser mejores para evaluar el rendimiento gráfico al generar píxeles y texturas.

  • La tasa de píxeles se mide en GPixel/s, es decir, la cantidad de mil millones de píxeles que la GPU puede generar por segundo.
  • La tasa de texturas se mide en GTexel/s, es decir, la cantidad de mil millones de texturas que la GPU puede generar por segundo.

Si nos fijamos en estas métricas, solo hay un dato que parece desentonar, el GPixel/s de la AMD Radeon, que se encuentra en la segunda posición del ranking a pesar de ser la más rápida en generar píxeles. Sin embargo, el resto de valores estarían realmente ordenados de acuerdo con el rendimiento que estas tarjetas gráficas ofrecen en juegos. Por lo tanto, estas métricas podrían ser más confiables para medir y comparar el rendimiento en juegos.

¿Entonces? ¿Cuál es la mejor medida de rendimiento para gaming?

En el contexto de los videojuegos, la mejor medida de rendimiento gráfico puede variar según el enfoque y los requisitos específicos del juego. Sin embargo, hay algunas métricas comunes que se utilizan para evaluar el rendimiento gráfico en los juegos:

  • FPS (Frames Per Second): esta medida indica la cantidad de cuadros que se generan y muestran por segundo en un juego. Un FPS más alto generalmente se considera deseable, ya que proporciona una experiencia de juego más fluida y sin interrupciones.
  • Latencia (Input Lag): se refiere al tiempo que tarda en registrarse una entrada (como presionar un botón) y verse reflejada en la pantalla. Una menor latencia es esencial para una jugabilidad más receptiva y una experiencia de juego más inmersiva.
  • Calidad visual: la calidad visual en los juegos se puede evaluar mediante varios aspectos, como la resolución, los efectos visuales, la iluminación, las sombras y las texturas. Aquí, una mayor resolución y una mayor calidad de los efectos gráficos suelen ser preferibles, pero esto también puede depender de las preferencias individuales y de las capacidades del hardware.
  • Benchmarks gráficos: son pruebas o tests diseñados para evaluar el rendimiento y la capacidad de procesamiento gráfico de una tarjeta gráfica o GPU. Estas pruebas se utilizan para comparar y clasificar diferentes tarjetas gráficas en términos de su desempeño en aplicaciones gráficas, como videojuegos o software de diseño 3D. Los benchmarks gráficos suelen ejecutar una serie de pruebas y escenas gráficas intensivas en diferentes configuraciones y niveles de detalle. Estas pruebas miden el rendimiento en términos de FPS (Frames Per Second), tiempo de respuesta, resolución, calidad de imagen y otros parámetros relacionados con la representación gráfica. Existen varias herramientas y programas populares utilizados para realizar benchmarks gráficos, como 3DMark, Unigine Heaven, FurMark y GFXBench, entre otros. Estas herramientas ejecutan una serie de escenas y pruebas gráficas estándar y generan informes detallados que permiten comparar el rendimiento de las tarjetas gráficas. Los benchmarks gráficos son útiles para los usuarios y los fabricantes de hardware, ya que proporcionan información objetiva sobre el rendimiento y ayudan a tomar decisiones informadas al seleccionar una tarjeta gráfica adecuada para sus necesidades. Sin embargo, es importante tener en cuenta que los benchmarks solo brindan una instantánea del rendimiento en condiciones específicas y pueden no reflejar necesariamente el rendimiento real en todas las situaciones o juegos.

Es importante tener en cuenta que estas métricas no son independientes entre sí, y el rendimiento gráfico en los juegos puede ser una combinación de varios factores. En última instancia, la mejor medida de rendimiento gráfico dependerá de las preferencias y necesidades individuales, así como de los requisitos específicos del juego en cuestión.

¿Entonces? ¿Por qué usan las unidades como el FLOPS los fabricantes de GPUs?

Los fabricantes de GPUs utilizan unidades como los FLOPS (Floating Point Operations Per Second) en sus especificaciones técnicas y en su material de marketing por varias razones:

  • Tradición y estandarización: los FLOPS han sido utilizados durante mucho tiempo como una medida de rendimiento en computación de punto flotante. Incluso fuera del ámbito gráfico, los FLOPS son una métrica comúnmente entendida y aceptada para comparar el rendimiento de diferentes sistemas de procesamiento.
  • Comparación con otras unidades: aunque los FLOPS no son la medida más representativa del rendimiento gráfico, permiten realizar comparaciones con otros tipos de procesadores y sistemas que también utilizan esta unidad de medida. Esto facilita la comparación entre diferentes componentes y ayuda a los usuarios a entender la capacidad de procesamiento en relación con otros dispositivos.
  • Enfoque en otros tipos de aplicaciones: si bien los FLOPS pueden no ser el mejor indicador para medir el rendimiento en videojuegos u otras aplicaciones gráficas, son más relevantes en áreas como la computación científica, el procesamiento de datos, la inteligencia artificial y otros cálculos intensivos. Al utilizar los FLOPS en su marketing, los fabricantes también apuntan a atraer a aquellos que buscan un rendimiento en otras áreas donde los FLOPS son más relevantes.
  • Puro marketing: si una GPU se sabe que destaca por sus FLOPS frente a la competencia, el fabricante tratará de mostrar el rendimiento en FLOPS de su producto, aunque luego en la práctica no se traduzca en un rendimiento mejor en los videojuegos. Los fabricantes o diseñadores siempre te van a mostrar lo mejor, y cómo su producto destaca frente a la competencia, y no siempre hay que tomar todos los datos que vemos como ciertos…

Es importante tener en cuenta que los FLOPS por sí solos no brindan una imagen completa del rendimiento en juegos y aplicaciones gráficas. Otros factores, como la arquitectura de la GPU, la eficiencia de los controladores y la optimización del software, también influyen en el rendimiento real en estas aplicaciones. Por lo tanto, al evaluar una tarjeta gráfica, es recomendable considerar múltiples aspectos y revisar benchmarks específicos de juegos y pruebas gráficas para obtener una visión más precisa de su rendimiento en el contexto deseado.

Jaime Herrera

Jaime Herrera

Técnico electrónico y experto en el sector de los semiconductores y el hardware. Con una amplia y sólida trayectoria en el campo de la electrónica, he acumulado una extensa experiencia. Mi pasión por la tecnología y la informática me ha impulsado a dedicar décadas de mi vida al estudio y desarrollo de soluciones en este fascinante sector. Como técnico electrónico, he tenido el privilegio de trabajar en una variedad de proyectos y desafíos, lo que me ha permitido adquirir un profundo conocimiento y experiencia en la creación, diseño y mantenimiento de dispositivos electrónicos.

  • Avatar Oscar Fiblas Aramayo dice:

    Mmmm, no explicas lo que es matemáticamente un FLOPS…

  • >
    Guía Hardware
    Logo