Operaciones de coma flotante por segundo
# Operaciones de coma flotante por segundo

En informática, las operaciones de coma flotante por segundo son una medida del rendimiento de una computadora, especialmente en cálculos científicos que requieren un gran uso de operaciones de coma flotante. Es más conocido su acrónimo, FLOPS (del inglés floating point operations per second). FLOPS, al ser un acrónimo, no debe nombrarse en singular como FLOP, ya que la S final alude a second (o segundo) y no al plural.

Las computadoras exhiben un amplio rango de rendimientos en coma flotante, por lo que a menudo se usan unidades mayores que el FLOPS. Los prefijos estándar del SI pueden ser usados para este propósito, dando como resultado kilo-FLOPS (kFLOPS, $10^3$ FLOPS), mega-FLOPS (MFLOPS, $10^6$ FLOPS), giga-FLOPS (GFLOPS, $10^9$ FLOPS), tera-FLOPS (TFLOPS, $10^{12}$ FLOPS), peta-FLOPS (PFLOPS, $10^{15}$ FLOPS), exa-FLOPS (EFLOPS, $10^{18}$ FLOPS), zetta-FLOPS (ZFLOPS, $10^{21}$ FLOPS), yotta-FLOPS (YFLOPS, $10^{24}$ FLOPS).

## Rango de rendimiento

Una computadora de escritorio, que usa por ejemplo un procesador Pentium 4 o Athlon 64, típicamente opera a más de 3 GHz, provee de un desempeño computacional del rango de unos cuantos GFLOPS. Aun algunas consolas de videojuegos del final de los años noventa y principios del 2000, tales como Gamecube y Dreamcast, tuvieron un rendimiento mayor a un GFLOPS.

La primera supercomputadora, Cray-1 fue puesta en marcha en el Laboratorio Nacional de Los Álamos en 1976. La Cray-1 era capaz de operar a 80 MFLOPS. En poco más de treinta años desde entonces, la velocidad computacional de las supercomputadoras es más de un millón de veces mayor.

La supercomputadora más rápida del planeta (junio de 2020) es Fugaku (nombre con que también se llama al monte Fuji), desarrollada conjuntamente por el Instituto Nacional de Investigación de Japón Riken y la compañía Fujitsu, con una capacidad de 415,53 petaflops, arrebatando el primer puesto a Summit, que cuenta con una capacidad de 148 petaflops. En el ranking total, el tercer puesto también es para EE. UU., con otra máquina de IBM (Sierra), mientras que la cuarta y quinta posición es para China con Sunway TaihuLight, que cuenta con una capacidad de 93 petaflops y Tianhe-2, con 34 petaflops, creados por el Centro Nacional de Investigación de Ingeniería y Tecnología de Computadoras Paralelas (NRCPC) y la Universidad Nacional de Tecnología de Defensa de China (NUDT).

La computación distribuida usa internet para conectar computadoras personales y lograr un efecto similar; ha permitido a SETI@Home, el mayor de dichos proyectos, computar a una velocidad de más de 100 TFLOPS. Einstein@Home ha ganado terreno y actualmente ha logrado una velocidad sostenida de 886,6 TFLOPS convirtiéndola en una de las supercomputadoras más poderosas del mundo. Otros proyectos similares son DistrRTgen Archivado el 6 de diciembre de 2008 en Wayback Machine. y climateprediction.net.

En marzo de 2020 Folding@Home priorizó proyectos para luchar contra el Covid19. Como resultado, el número de usuarios que se conectaron a esta red de computación distribuida, aumentó hasta que el 15 de abril de 2020, Folding@Home anunció que tenía una potencia de cálculo de más de 2.480 petaFLOPS, o 2 exaFLOPS, rompiendo la barrera del exaFLOPS antes que lo logren empresas como Intel, AMD o IBM.

## FLOPS como medida de rendimiento

Para que se pueda usar el FLOPS como medida de rendimiento de coma flotante una referencia estándar debe ser establecida para todas las computadoras de interés. Uno de ellos es el estándar LINPACK.

Los FLOPS por sí solos no son un muy útil estándar para computadoras modernas. Existen muchos otros factores de rendimiento tales como E/S (entrada-salida), comunicación interprocesador, coherencia del caché y jerarquía de memoria. Esto significa que las computadoras en general son solamente capaces de una fracción del pico teórico en FLOPS, obtenido adicionando el pico teórico en FLOPS de cada uno de los componentes del sistema. Aun cuando se trabaje en problemas grandes y altamente paralelos, su rendimiento será irregular, debido en gran medida a efectos residuales de la ley de Amdahl. Por tanto, los estándares efectivos medirán rendimiento tanto de FLOPS actuales (tiempo real) como de FLOPS sostenidos.

Para aplicaciones ordinarias (no científicas) las operaciones sobre enteros (medidos en MIPS) son mucho más comunes. De lo anterior se deduce que medir el rendimiento en FLOPS no predice con precisión la rapidez con la que un procesador realizará cualquier tarea. Sin embargo, para muchas aplicaciones científicas, como el análisis de datos, el rendimiento en FLOPS es una medida efectiva.

## FLOPS, GPU y consolas de videojuegos, entre otros

Frecuentemente se publican cifras astronómicas en FLOPS para tarjetas de video y consolas de videojuegos. En comparación, un computador de propósito general tendrá un rendimiento de unos cuantos GFLOPS si se considera únicamente su CPU.

Sin embargo, estas cifras deben ser tratadas con precaución, ya que no son comparables uno a uno con FLOPS de un computador totalmente programable de propósito general. Estas cifras se basan en el rendimiento total del sistema (CPU + GPU).

La mayor parte del rendimiento en FLOPS de una consola de videojuegos proviene de su GPU, que es un procesador de vectores altamente ductilizado o segmentado (pipelined en inglés) optimizado para operaciones gráficas, con muy limitada programabilidad. Esto es posible porque las gráficas en 3D son un ejemplo clásico de un problema altamente paralelizable. Esto significa que el problema puede ser fácilmente dividido entre diferentes unidades de ejecución y «ductos», permitiendo una alta ganancia en velocidad que será obtenida de «escalar» el número de compuertas lógicas en vez de únicamente la velocidad de reloj.

Esta capacidad de cómputo en un computador permite por ejemplo:

* Simulaciones de fenómenos naturales altamente precisas (huracanes, terremotos, maremotos, impacto de asteroides)
* Desdoblamiento de cadenas de ADN
* Plegamiento de proteínas
* Simulación de explosiones nucleares
