Jim Keller critica CUDA de Nvidia y x86

La afirmación de un destacado diseñador de chips de que la pila de software CUDA de Nvidia y la arquitectura x86 son “pantanos, no fosos” provoca un debate sobre si las plataformas complejas y compatibles hacia atrás son una fortaleza o una desventaja. Los comentaristas contrastan el ecosistema dominante de CUDA y sus bibliotecas robustas con el soporte más débil de ROCm de AMD y sus problemas de controladores, al tiempo que examinan cómo el bloqueo de proveedor, la disponibilidad de hardware y las cargas de trabajo de IA influyen en la adopción de GPUs. El hilo se amplía a x86 frente a ARM y a los compromisos de diseño entre RISC y CISC, y muchos sostienen que la compatibilidad práctica y décadas de herramientas importan más que la pureza de la ISA.

Aclaraciones sobre Triton y contexto

  • Varios comentarios señalan que el artículo confundió el lenguaje Triton de OpenAI con Triton Inference Server de Nvidia; el primero es un lenguaje de programación para GPU similar a Python, mientras que el segundo es un sistema de servicio de modelos y no un reemplazo de CUDA.
  • Se enfatiza que el crítico trabaja para un competidor directo de Nvidia, lo que los lectores argumentan que debería haberse destacado claramente como posible sesgo, aunque otros dicen que sus opiniones pueden ser precisamente lo que lo llevó a competir en primer lugar.

CUDA: foso, “pantano” y experiencia de desarrollador

  • Muchos sostienen que cuando la gente dice “CUDA es un foso” en realidad se refiere a todo el ecosistema de CUDA (bibliotecas como cuDNN, cuBLAS, TensorRT), no solo al lenguaje de bajo nivel.
  • Hay un amplio acuerdo en que la mayoría de los usuarios accede a CUDA a través de frameworks de nivel más alto (PyTorch, TensorFlow), y rara vez escribe kernels personalizados; unos pocos reportan haber hecho CUDA/PTX optimizado a mano y lo encuentran potente, pero difícil y muy demandante de tiempo.
  • Algunos ven la complejidad del ecosistema y la compatibilidad hacia atrás como un “pantano” que, aun así, funciona como un foso muy eficaz.

AMD, ROCm y GPUs que no son de Nvidia

  • Múltiples anécdotas describen la pila de software de AMD como inestable o de bajo rendimiento, y se considera que los controladores son el problema principal más que la capacidad del hardware.
  • ROCm se describe como aproximadamente análogo a CUDA+bibliotecas, con HIP usado como capa de abstracción, pero el soporte está fragmentado y históricamente limitado a ciertas tarjetas “pro” o más recientes.
  • Varios señalan que, a pesar de las restricciones de suministro de GPUs de Nvidia, la falta de soporte de software maduro y sencillo mantiene a los grandes usuarios en Nvidia.

x86, ARM y debates sobre ISA

  • La discusión revisita x86 como un “pantano” que evolucionó hasta convertirse en una especie de codificación comprimida para microoperaciones internas; con el tiempo, el costo de soportar viejas funciones CISC se redujo en relación con el presupuesto total de transistores.
  • Los comentaristas rechazan narrativas simplistas de “x86 tiene un núcleo RISC dentro”, explicando que casi todos los CPUs modernos (incluido RISC-V) traducen instrucciones en µops; “RISC vs CISC” se presenta como algo en gran medida obsoleto.
  • Se debate el ascenso de ARM: algunos destacan los M-series de Apple y Graviton de AWS; otros señalan un SIMD más débil (fuera de SVE), un rendimiento mixto en el mundo real y una fuerte inercia del ecosistema x86.

“Pantanos” de plataforma y compatibilidad hacia atrás

  • Varios argumentan que la “condición de pantano” (ecosistemas complejos, enmarañados y compatibles hacia atrás) es un rasgo común de las plataformas exitosas: x86, Windows, PDF, la web, Linux, e incluso el capitalismo y la democracia.
  • La compatibilidad hacia atrás se ve tanto como algo fácil para el usuario como una barrera para competidores, reforzando fosos incluso cuando el diseño subyacente es imperfecto.