CUDA demuestra que Nvidia es una empresa de software


lo siento por comienza con un cliché, una pieza de jerga financiera que recientemente ha entrado en el léxico tecnológico, pero me temo que debería hablar de “fosos”. Popularizada hace décadas por Warren Buffett para referirse a la ventaja competitiva de una empresa, la palabra entró en un breve debate en Silicon Valley cuando un memorando supuestamente filtrado de googletitulado “No tenemos fosos, y OpenAI tampoco”, le preocupaba que la IA de código abierto saqueara el bastión de las grandes tecnologías.

Varios años después, los muros del castillo siguen siendo seguros. A pesar de un breve pánico cuando apareció DeepSeek por primera vez, los modelos de IA de código abierto no han superado por mucho a los modelos propietarios. Sin embargo, ninguno de los laboratorios líderes (OpenAI, Anthropic, Google) tiene fosos de los que hablar.

Una empresa que sí tiene foso es Nvidia. El director ejecutivo, Jensen Huang, lo llama su “tesoro” más valioso. Como se podría suponer para una empresa de chips, esto no es una pieza de hardware. Es algo llamado CUDA. Lo que parece un compuesto químico prohibido por la FDA puede ser una de las principales causas de la IA.

CUDA técnicamente se encuentra para Computar Arquitectura de Dispositivo Integrado, pero muy similar láser o escafandra autónomanadie quiere ampliar el acrónimo; simplemente decimos “KOO-duh”. Entonces, ¿de qué sirve este tesoro tan importante? Si se ve obligado a dar una respuesta de una palabra: paralelización.

He aquí un ejemplo sencillo. Digamos que asignamos una máquina para completar una tabla de multiplicar de 9 × 9. Utilizando una computadora con un solo núcleo, las 81 operaciones se ejecutan diligentemente una por una. Pero una GPU con nueve núcleos puede asignar tareas de modo que cada núcleo tome una columna diferente (una de 1×1 a 1×9, otra de 2×1 a 2×9, y así sucesivamente) para aumentar la velocidad nueve veces. Las GPU modernas pueden ser incluso más inteligentes. Por ejemplo, si se programaran para reconocer la conmutatividad (7×9 = 9×7), podrían evitar la duplicación de trabajo, reducir 81 operaciones a 45 y reducir la carga de trabajo casi a la mitad. Cuando una ronda de formación cuesta cien millones de dólares, cada optimización cuenta.

Las GPU de Nvidia se crearon originalmente para representar gráficos para videojuegos. A principios de la década de 2000, un estudiante de doctorado de Stanford llamado Ian Buck, que exploró por primera vez las GPU como jugador, se dio cuenta de que su arquitectura podría usarse para la informática de alto rendimiento en general. Creó un lenguaje de programación llamado Brook, fue contratado por Nvidia y, con John Nickolls, dirigió el desarrollo de CUDA. Si la IA marca el comienzo de una era de clases bajas permanentes de cuello blanco y armas autónomas, sepan que todo está sucediendo porque alguien en algún lugar está jugando. Catástrofe Pensé que el escroto del diablo se balancearía a 60 fotogramas por segundo.

CUDA no es un lenguaje de programación en sí mismo sino más bien una “plataforma”. Utilizo esa palabra comadreja porque, a diferencia del New York Times, que es un periódico que también es una empresa de juegos, CUDA, durante muchos años, ha sido una colección de bibliotecas de software para IA. Cada función ahorra nanosegundos de una sola operación matemática; sumadas, hacen que la GPU, en términos de la industria, funcione sin problemas. brrr.

gráficos modernos una tarjeta no es sólo una placa de circuito llena de chips, memoria y ventiladores. Es una combinación compleja de jerarquías de caché y unidades especializadas llamadas “núcleos tensores” y “multiprocesadores de transmisión”. En este caso, lo que venden las empresas de chips es como una cocina profesional, y más núcleos equivalen a más espacio para asar. Pero ni siquiera una cocina con 30 estaciones para asar funcionará más rápido sin un jefe de cocina que pueda asignar tareas con destreza, como lo hace CUDA con los núcleos de GPU.

Para ampliar la metáfora, una biblioteca CUDA ajustada a mano y optimizada para una operación de matriz única equivale a un aparato de cocina diseñado para un trabajo y nada más (un secador de cerezas, un pelador de camarones), lo cual es una delicia para el cocinero casero, pero no si tienes 10.000 tripas de camarón para recoger. Lo que nos lleva de regreso a DeepSeek. Sus ingenieros trabajan debajo de estas capas de abstracción ya profundas para trabajar directamente en PTX, una especie de lenguaje ensamblador para las GPU de Nvidia. Digamos que la tarea es pelar ajos. Una GPU no optimizada dirá: “Pele la piel con la uña”. CUDA puede indicar: “Triture los dientes con la parte plana del cuchillo”. PTX le permite dictar cada subinstrucción: “Levante el cuchillo 2,35 pulgadas por encima de la tabla de cortar, póngalo paralelo al ecuador del diente y golpéelo hacia abajo con la palma de su mano con una fuerza de 36,2 newtons”.



Source link