CUDA demuestra que Nvidia es una empresa de software


Perdóname por Comenzando con un cliché, una pieza de jerga financiera que recientemente se ha deslizado en el léxico tecnológico, pero me temo que debo hablar de «fosos». Popularizada hace décadas por Warren Buffett para referirse a la ventaja competitiva de una empresa, la palabra llegó a las presentaciones de Silicon Valley cuando un memorando supuestamente filtrado de Google, titulado «No tenemos foso, y OpenAI tampoco», temía que la IA de código abierto saqueara el castillo de las grandes tecnológicas.

Unos años más tarde, las murallas del castillo siguen siendo seguras. Aparte de un breve ataque de pánico cuando apareció DeepSeek por primera vez, los modelos de IA de código abierto no han superado ampliamente a los modelos propietarios. Aún así, ninguno de los laboratorios de vanguardia (OpenAI, Anthropic, Google) tiene un foso del que hablar.

La empresa que sí tiene foso es Nvidia. El director ejecutivo, Jensen Huang, lo ha llamado su “tesoro” más preciado. No es, como se podría suponer en el caso de una empresa de chips, una pieza de hardware. Es algo llamado CUDA. Lo que parece un compuesto químico prohibido por la FDA puede ser el único verdadero foso en la IA.

CUDA técnicamente se encuentra para Compute Unified Device Architecture, pero muy parecido láser o escafandra autónomanadie se molesta en ampliar el acrónimo; simplemente decimos «KOO-duh». Entonces, ¿para qué sirve este tesoro tan importante? Si se ve obligado a dar una respuesta de una sola palabra: paralelización.

He aquí un ejemplo sencillo. Digamos que le asignamos a una máquina la tarea de 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 ganar nueve veces la velocidad. Las GPU modernas pueden ser incluso más inteligentes. Por ejemplo, si se programan para reconocer la conmutatividad (7 × 9 = 9 × 7), pueden evitar el trabajo duplicado, reduciendo 81 operaciones a 45, reduciendo casi a la mitad la carga de trabajo. Cuando una sola ejecución de entrenamiento 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 se interesó por primera vez en las GPU como jugador, se dio cuenta de que su arquitectura podía reutilizarse para la informática general de alto rendimiento. 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 la era de una subclase permanente de trabajadores de cuello blanco y armas autónomas, hay que saber que todo se debe a que alguien en algún lugar está jugando. Condenar Pensé que el escroto de un demonio debería moverse a 60 fotogramas por segundo.

CUDA no es un lenguaje de programación en sí mismo sino una «plataforma». Utilizo esa palabra comadreja porque, a diferencia de The New York Times es un periódico que también es una compañía de juegos, CUDA, a lo largo de los años, se ha convertido en un paquete anidado de bibliotecas de software para IA. Cada función reduce nanosegundos de operaciones matemáticas individuales; en conjunto, hacen que las GPU, en el lenguaje de la industria, funcionen. brrr.

Unos gráficos modernos La tarjeta no es sólo una placa de circuito repleta de chips, memoria y ventiladores. Es una elaboración elaborada de jerarquías de caché y unidades especializadas llamadas «núcleos tensores» y «multiprocesadores de transmisión». En ese sentido, lo que venden las empresas de chips es como una cocina profesional, y más núcleos equivalen a más estaciones de parrilla. Pero incluso una cocina con 30 estaciones para asar no funcionará más rápido sin un jefe de cocina capaz que asigne tareas con destreza, como lo hace CUDA con los núcleos de GPU.

Para ampliar la metáfora, las bibliotecas CUDA ajustadas a mano y optimizadas para una operación matricial son el equivalente a herramientas de cocina diseñadas para un solo trabajo y nada más (un deshuesador de cerezas, un desvenador de camarones), que son un placer para los cocineros caseros, pero no si tienes que arrancar 10.000 tripas de camarón. Lo que nos lleva de regreso a DeepSeek. Sus ingenieros bajaron de esta ya profunda capa de abstracción 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ía: «Pele la piel con las uñas». CUDA puede indicar: «Aplasta el diente con la parte plana de un cuchillo». PTX le permite dictar todas las subinstrucciones: «Levante la hoja 2,35 pulgadas por encima de la tabla de cortar, colóquela paralela al ecuador del diente y golpéela hacia abajo con la palma con una fuerza de 36,2 newtons».



Fuente

LEAVE A REPLY

Please enter your comment!
Please enter your name here