NVIDIA explica: ¿Qué es un exaflop?

Las computadoras están procesando más números que nunca para resolver los problemas más complejos de nuestro tiempo: cómo curar enfermedades como el COVID y el cáncer, mitigar el cambio climático, etc.

Estos y otros grandes retos han llevado a la informática a la era de la exaescala, en la que el rendimiento máximo se mide a menudo en exaflops.

¿Qué es un exaflop?

Un exaflop es una medida de rendimiento para una supercomputadora que puede calcular al menos un trillón de operaciones en coma flotante por segundo. Dicho de otra forma, un exaflop es una medida de rendimiento para una supercomputadora que puede calcular al menos 1018 o un trillón de operaciones en coma flotante por segundo, escribe Rick Merritt, de NVIDIA, en el blog de la empresa.

En exaflop, el prefijo exa- significa un trillón, o un uno seguido de 18 ceros. Del mismo modo, un exabyte es un subsistema de memoria que contiene un trillón de bytes de datos.

El «flop» de exaflop es una abreviatura de las operaciones en coma flotante. La velocidad a la que un sistema ejecuta un flop en segundos se mide en exaflop/s.

La coma flotante se refiere a los cálculos realizados en los que todos los números se expresan con puntos decimales. 1.000 Petaflops = un Exaflop. El prefijo peta- significa 1015, o sea, uno con 15 ceros detrás. Por tanto, un exaflop es mil petaflops.

El exaflop en el contexto histórico

Merritt escribe que para hacernos una idea de lo que supone un exaflop, imaginemos a mil millones de personas con mil millones de calculadoras cada una. «¡Claro, hablamos de manos grandes!», bromea el experto, quien agrega «Si todas ellas pulsaran el signo de igual al mismo tiempo, ejecutarían un exaflop».

La Universidad de Indiana, sede de la Big Red 200 y de otras supercomputadoras, lo explica así: Para igualar lo que una computadora de exaflop puede hacer en sólo un segundo, habría que realizar un cálculo cada segundo durante 31.688.765.000 años.

Breve historia del exaflop

Durante la mayor parte de la historia de la supercomputación, un flop era un flop, una realidad que está cambiando a medida que las cargas de trabajo adoptan la IA.

La gente utilizaba números expresados en el más alto de los formatos de precisión, llamado doble precisión, tal y como se define en el estándar IEEE para la aritmética de punto flotante. Se denomina doble precisión, o FP64, porque cada número de un cálculo requiere 64 bits, datos expresados como un cero o un uno. En cambio, la precisión simple utiliza 32 bits.

La doble precisión utiliza esos 64 bits para garantizar que cada número sea exacto hasta una fracción minúscula. Es como decir 1,0001 + 1,0001 = 2,0002, en lugar de 1 + 1 = 2.

Este formato se adapta perfectamente a lo que constituía el grueso de las cargas de trabajo de la época: simulaciones de todo, desde átomos hasta aviones, que necesitan garantizar que sus resultados se aproximen a lo que representan en el mundo real.

Así que era natural que el benchmark LINPACK, también conocido como HPL, que mide el rendimiento en matemáticas FP64, se convirtiera en la medida por defecto en 1993, cuando debutó la lista TOP500 de las supercomputadoras más potentes del mundo.

El Big Bang de la IA

Hace una década, la industria de la computación escuchó lo que el CEO de NVIDIA, Jensen Huang, describe como el big bang de la IA.

Esta nueva y potente forma de computación empezó a mostrar resultados significativos en aplicaciones científicas y empresariales. Y aprovecha algunos métodos matemáticos muy diferentes.

El aprendizaje profundo no consiste en simular objetos del mundo real, sino en escudriñar montañas de datos para encontrar patrones que permitan obtener nuevos conocimientos.

Sus matemáticas exigen un alto rendimiento, por lo que hacer muchos, muchos cálculos con números simplificados (como 1,01 en lugar de 1,0001) es mucho mejor que hacer menos cálculos con otros más complejos.

Por eso la IA utiliza formatos de menor precisión como FP32, FP16 y FP8. Sus números de 32, 16 y 8 bits permiten a los usuarios hacer más cálculos con mayor rapidez.

La precisión mixta evoluciona

Para la IA, utilizar números de 64 bits sería como llevarse todo el ropero cuando se va de fin de semana. Encontrar la técnica de menor precisión ideal para la IA es un área de investigación activa.

Por ejemplo, la primera GPU NVIDIA Tensor Core, Volta, utilizaba precisión mixta. Ejecutaba la multiplicación de matrices en FP16 y luego acumulaba los resultados en FP32 para obtener una mayor precisión.

Hopper acelera con FP8

Más recientemente, la arquitectura NVIDIA Hopper debutó con un método de menor precisión para el entrenamiento de la IA que es aún más rápido. El motor de transformación de Hopper analiza automáticamente una carga de trabajo, adopta FP8 siempre que sea posible y acumula los resultados en FP32.

Cuando se trata del trabajo menos intensivo de inferencia -la ejecución de modelos de IA en producción-, los principales marcos como TensorFlow y PyTorch admiten números enteros de 8 bits para un rendimiento rápido. Esto se debe a que no necesitan puntos decimales para realizar su trabajo.

La buena noticia es que las GPUs NVIDIA admiten todos los formatos de precisión, por lo que los usuarios pueden acelerar cada carga de trabajo de forma óptima.

El año pasado, el comité P3109 del IEEE comenzó a trabajar en un estándar industrial para los formatos de precisión utilizados en el aprendizaje automático. Este trabajo podría llevar uno o dos años más.

Algunas simulaciones sobresalen con una precisión menor

Aunque FP64 sigue siendo popular para las simulaciones, muchos utilizan matemáticas de menor precisión cuando ofrecen resultados útiles más rápidamente.

Las aplicaciones HPC varían en cuanto a los factores que afectan a su rendimiento. Por ejemplo, los investigadores ejecutan en FP32 un popular simulador de accidentes automovilísticos, LS-Dyna de Ansys. La genómica es otro campo que tiende a preferir las matemáticas de menor precisión.

Además, muchas simulaciones tradicionales están empezando a adoptar la IA para, al menos, parte de sus flujos de trabajo. A medida que las cargas de trabajo se inclinan hacia la IA, las supercomputadoras tienen que soportar una menor precisión para ejecutar bien estas aplicaciones emergentes.

«Al final, la mejor medida del rendimiento de un sistema, por supuesto, es lo bien que ejecuta las aplicaciones del usuario. Es una medida que no se basa en los exaflops, sino en el retorno de la inversión», concluye señalando Rick Merritt, de NVIDIA.



Contacto | Diario TI es una publicación de MPA Publishing International Ltd., Reino Unido. © Copyright 1997-2022