De los jueguitos al Bitcoin, la historia del componente más caro de la computación personal
Un hardware nacido en la década del ‘90 se ha convertido en la estrella del momento, cuesta fortunas y además escasea
- 8 minutos de lectura'
Aunque siempre han estado un poco en los suburbios de la computación seria –tal vez porque, lamentablemente, consideramos poco serio el jugar–, los videogames están entre las tareas más exigentes que enfrenta una computadora. Tanto es así que cuando queremos simular e interactuar con entornos realistas no alcanza con un solo cerebro electrónico. Se necesitan tres.
Hace unos 40 años, las computadoras traían un cerebro electrónico que (para la época) era muy bueno. Hoy daría risa, pero en su momento, comparado con lo que la civilización conocía hasta entonces, era lo máximo. Pero su capacidad de cómputo no estaba especializada (vamos a decirlo así) en matemática de coma flotante. Esto suena a poesía dadaísta, y definitivamente no vamos a bucear en el asunto de los números reales, el estándar IEEE 754 y todo lo demás. Digamos, en cambio, que los primeros cerebros electrónicos necesitaban, para tareas como el diseño arquitectónico e industrial, un compañero que hiciera aritmética más rápido.
Nació así el coprocesador matemático, el segundo cerebro de esta historia. Los veteranos de la informática personal recordarán el primero de Intel, llamado 8087, que en su momento constituía un lujo para pocos.
Hoy no se concibe la computación sin cálculo de coma flotante, de modo que todos los cerebros electrónicos vienen, por así decir, con el coprocesador matemático integrado. O, lo que sería más acertado, ambos cerebros se fundieron en uno solo, al punto que una de las formas de medir el desempeño de estos dispositivos es por medio de algo llamado FLOPS. Suena a onomatopeya, pero son las siglas en inglés por Floating Point Operations Per Second. O sea, operaciones de coma flotante por segundo. ¿Y cuántos FLOPS son muchos FLOPS en este territorio abstracto? Bueno, una PlayStation 5 es capaz de sacar unas 10 billones de cuentas de coma flotante por segundo. O sea 10 tera FLOPS; un 10 seguido de doce ceros.
Ahora, ¿cómo puede ser que estemos poniendo una consola de videojuegos como ejemplo de cálculo matemático de coma flotante? ¿Eso no es algo que se usa más bien en física, química o ingeniería? Sí, claro, pero lo que viene a ocurrir es que los videojuegos buscan representar el mundo real de la forma más fidedigna posible, y el mundo real (salvo para los terraplanistas) se basa en leyes que pueden expresarse por medio de ecuaciones, como las de la mecánica clásica, la ley de la gravedad, la conservación de la energía y la óptica, entre otras.
Así que los creadores de videojuegos se vieron obligados muy tempranamente a elegir entre dos opciones para producir juegos más o menos realistas: la magia o la matemática. Como la magia no da resultado (digan lo que digan), escogieron la matemática.
Uno de los primeros juegos de PC que requerían el coprocesador matemático 8087 fue el Falcon 3.0, de Spectrum Holobyte, un simulador de vuelo bélico cuyo modo de alta fidelidad echaba mano de la matemática de coma flotante. Otro fue Scorched Earth (¿recuerdan?), así como el venerable Fractint, para crear fractales, que todavía existe.
Dejame ver
En computación personal, el coprocesador matemático quedó definitivamente incorporado al CPU a partir de los 80486 DX, de 1989. Tal era el costo de estos componentes que el fabricante también produjo una versión sin coprocesador matemático, la serie SX, más accesible.
El resto, como se dice, es historia. Excepto por un pequeño detalle que, en el apuro, pasamos por alto, y que surgió como una consecuencia inevitable de (otra vez) los videojuegos. Al principio, las imágenes que se veían en pantalla eran bidimensionales y el efecto espacial se simulaba mediante trucos visuales, como en los dibujos animados. Se requería un hardware especial para que estas imágenes aparecieran fluidas; eso se llama aceleración 2D y se remonta a la década del ’70 del siglo pasado. Pero, tarde o temprano, el público y los creadores de videojuegos querrían más. A mediados de la década del ’90 empezó a sonar la frase gráficos 3D, Sony acuñó el término procesador de gráficos (o GPU, en inglés) y en 1994 nació la PlayStation, que traía de fábrica uno de estos codiciados dispositivos. Es decir, una aceleradora 3D.
Sí, la bisabuela de la Play actual ya venía con un componente especializado en mostrar gráficos realistas en tres dimensiones, algo que hoy también damos por sentado, pero que, una vez más, requiere de una habilidad muy particular. Sin entrar en detalles, los gráficos 3D requieren mucho cálculo en paralelo. Así, mientras un cerebro electrónico convencional tiene entre 2 y 10 núcleos (un núcleo es una unidad de proceso independiente), un GPU tiene varios miles. Esa enorme cantidad de núcleos se organizan en grupos capaces de repetir la misma operación, pero sobre conjuntos diferentes de datos.
Se trata de un tipo de procesamiento de información muy especializado que sirve para un conjunto bien característico de tareas: la representación de gráficos en 3D, codificar y decodificar video y quebrar contraseñas, entre otros. Para ver esto en el mundo real, pasá cualquier video en tu computadora y apretá Mayúsculas+Control+Escape. En la pestaña Rendimiento del Administrador de tareas vas a ver que el GPU empieza a trabajar fuerte. Y si avanzás el video a mayor velocidad (2X, 4X, y así), vas a ver que la placa gráfica funciona todavía a más revoluciones, porque debe decodificar más video en el mismo tiempo.
La pregunta que queda flotando aquí es: ¿por qué se requiere la misma técnica para los jueguitos que para hackear contraseñas? Lo hablé con gente del ambiente de los gráficos 3D estos días y la respuesta es tan sencilla como sorprendente. Mostrar video o crear la ilusión de una animación 3D requiere procesar muchos pixeles de la imagen simultáneamente. Muchos son muchos en serio. Para calcular –grosso modo– ese número habría que multiplicar 1920 por 1080 (una resolución estándar hoy) por los 32 bits de color de cada pixel por, digamos, 24 fotogramas por segundo. La cifra escala a valores estratosféricos, y para que la ilusión funcione hay que calcularlos todos a la vez. O sea, se necesitan que la misma tarea se realice muchísimas veces por segundo. Lo mismo que para crackear una contraseña por medio de un ataque de fuerza bruta, donde se necesita probar muchas combinaciones hasta dar con la correcta.
Viceversa, el microprocesador convencional, incluso con sus capacidades avanzadas para el cálculo matemático, es un sujeto muy diferente del GPU. El primero es un generalista, con pocos núcleos capaces de tareas muy diversas, mientras que la placa de gráficos tiene muchos núcleos que hacen muy bien y muy rápido unas pocas tareas (matemáticas) específicas. Este es el tercer cerebro de nuestra historia.
Una moneda
Ahora bien, ¿qué otro trabajo informático muy de moda requiere resolver muchas tareas en paralelo? Exacto, el minado de criptomonedas. Léase Bitcoin, pero también Ethereum, una estrella en ascenso, debido a la súbita popularidad de los NFT. Así que el procesamiento masivo de datos en paralelo sirve para crear escenas 3D en tiempo real, reproducir video, quebrar contraseñas y resolver el problema criptográfico que supone minar criptomonedas. De hecho, ya tenemos una nueva medida de velocidad de las placas de video, que no tiene nada que ver con el video. Se trata del hashrate o tasa de hashes por segundo.
OK, ¿y entonces por qué simplemente no fabricar placas que solo hagan procesamiento masivo en paralelo, pero sin los componentes de video? Buena idea, pero los fabricantes ya lo pensaron (y hace años, según me contaban esta semana). Nvidia, el principal jugador en esto de los cerebros electrónicos para gráficos, hoy los denomina Cryptocurrency Mining Processors y, para decirlo sin muchas vueltas, son placas de video sin salida de video. En rigor, ya no son placas de video, porque no tienen el hardware para producir una señal de video, pero nacen de la misma tecnología y del mismo fabricante.
La alineación de planetas está completa ahora. La nueva fiebre del oro, encarnada por los bitcoins y los NFT, la tecnología creada originalmente para los videojuegos y la escasez de chips que sufre en este momento la industria han hecho que el precio de un solo componente de la computadora cueste más que la computadora completa. “Lo que hace un tiempo se conseguía a 500 dólares hoy sale 2000 o 3000”, me comentaron, con preocupación, estos días. Es decir, estamos hablando de que una pieza de la computadora puede escalar fácilmente a los 300.000 pesos. Eso es 50.000 pesos más que un iPhone 12 Pro puesto en los comercios aquí, en la Argentina, donde el precio de la tecnología es absurdamente alto. Pero incluso en Estados Unidos estos precios son estrafalarios. Una placa de video última generación puede trepar hasta los 5000 dólares. El más nuevo de los smartphones de Samsung, el Galaxy S21 cuesta la quinta parte de ese dinero.
El problema es que esta clase de hardware no se usa solo para los videojuegos o para minar bitcoins, sino también para un gran número de aplicaciones técnicas cotidianas esenciales (codificar el video que vemos en la tele, por ejemplo) y científicas. Así que, silenciosamente, hay aquí una cuerda cada vez más tensa. Es de esperarse que la oferta y la demanda den resultado una vez más. Si la escasez de chips se resuelve y los fabricantes empiezan a producir hardware exclusivamente para minar criptomonedas, los precios del hardware para videojuegos y otras aplicaciones por el estilo debería bajar. Hasta entonces, un consejo: cuidá la Play.