Jim Keller, el padre de los AMD Ryzen, critica abiertamente a NVIDIA: «CUDA es un pantano»

Cuando Jim Keller habla, el resto escucha. Es, posiblemente, el ingeniero de arquitecturas más famoso y representativo del mundo, con un currículum que realmente impresiona. Por eso, y sabiendo que siempre es extremadamente cauto y humilde, las declaraciones que ha hecho han sorprendido a muchos. Y es que Jim Keller ha dicho en X que CUDA es un pantano. ¿A qué se refiere con esto y por qué ataca a NVIDIA ahora?

Parece que Keller está cansado de NVIDIA y mucho más de su software. Si algo gusta precisamente de los verdes es que CUDA como tal simplifica bastante todo lo que tiene que ver con GPU a distintos niveles. Pero el ingeniero de Tenstorrent parece que tiene una visión algo diferente de todo este asunto.

Jim Keller ataca a NVIDIA y CUDA llamándola "pantano"

Las declaraciones fueron una detrás de otra en pequeñas frases que vamos a unir en un solo argumento para hacerlo más comprensible y luego intentar explicarlo. Keller dijo lo siguiente:

CUDA es un pantano, no un foso. x86 también era un pantano. CUDA no es algo bonito, fue construida apilando una cosa encima de la otra. Básicamente nadie escribe en CUDA. Pero si lo haces, probablemente no sea rápido.

Hay una buena razón por la que existen Triton, Tensor RT, Neon y Mojo. Con ellos, el futuro debería ser bonito.

Tras esto, Keller recibió varias respuestas de algunas personas, como que los pantanos son los mejores fosos, donde solo los expertos entrarán. Otro usuario le lanzó una reflexión interesante a raíz de esto, ya que dijo que todo el mundo estaba recompilando el material de su servidor para ejecutarlo en Arm, pero entonces, ¿por qué no crear una ISA diseñada para este siglo que sea mejor? Le puso de ejemplo a RISC-V, que es gratuita y sencilla, pero podía no estar bien para ganar rendimiento.

¿Qué le respondió Keller ante esta idea siendo el CEO de Tenstorrent y enfocándose completamente en IA?

RISC-V puede ser una gran opción

Jim-Keller-CUDA-pantano-Jensen-Huang

Pues lo que sabemos, y es que Keller ve con buenos ojos a RISC-V:

RISC-V está bien para ganar rendimiento. El soporte del compilador es bastante bueno, aunque queda algo de trabajo por hacer en el apartado de vectorización.

Dicho todo esto, ¿por qué tanta crítica de Keller hacia CUDA y el compararla con un pantano? Pues no es el único que critica esto. Básicamente CUDA ha ido agregando capa tras capa de software para mantener la compatibilidad entre versiones.

Pero como todo software que se va haciendo más y más grande a base de tener código anterior, llega un momento donde el rendimiento se pierde, es afectado por toda esa compatibilidad y el hardware nada puede hacer ahí.

Por ello, aboga por otros softwares más específicos que aportan mayor rendimiento, pero son menos compatibles, de ahí todo el argumento de pantano y foso. No es que CUDA sea perfecta, pero es la base de la piedra angular de NVIDIA y por lo que muchas empresas o gigantes tecnológicos compran su hardware. Pero igualmente, tiene opciones de código abierto mucho más específicas y compatibles con ciertos modelos.

De hecho, en parte, AMD e Intel quieren hacer algo parecido a CUDA a su manera, y por ello trabajan incansablemente en ROCm y OneAPI. Lógicamente, la ventaja temporal enorme que tiene NVIDIA también se ve reflejada en su software CUDA, que como pasa con x86 y bien dice Keller, son un pantano, que en cualquier caso, algún día habrá que limpiar para dejar el agua más clara.