Jim Keller critica a CUDA da Nvidia e o x86
A afirmação de um proeminente designer de chips de que a pilha de software CUDA da Nvidia e a arquitetura x86 são “pântanos, não fossos” provoca debate sobre se ecossistemas bagunçados e compatíveis com versões anteriores são uma força ou uma fraqueza. Os comentaristas contrastam o ecossistema dominante da CUDA e suas bibliotecas robustas com o suporte mais fraco do ROCm da AMD e problemas de drivers, ao mesmo tempo em que examinam como o lock-in de fornecedor, a disponibilidade de hardware e as cargas de trabalho de IA moldam a adoção de GPUs. O fio se expande para x86 versus ARM e para as trocas de design RISC versus CISC, com muitos argumentando que compatibilidade prática e décadas de ferramentas importam mais do que a pureza da ISA.
Esclarecimentos sobre Triton e contexto
- Vários comentários observam que o artigo confundiu a linguagem Triton da OpenAI com o Triton Inference Server da Nvidia; a primeira é uma linguagem de programação para GPU parecida com Python, enquanto a segunda é um sistema de serviço de modelos e não um substituto de CUDA.
- É enfatizado que o crítico trabalha para um concorrente direto da Nvidia, o que os leitores argumentam deveria ter sido destacado claramente como possível viés, embora outros digam que justamente suas opiniões podem tê-lo levado a competir em primeiro lugar.
CUDA: fosso, “pântano” e experiência do desenvolvedor
- Muitos argumentam que, quando as pessoas dizem “CUDA é um fosso”, na verdade estão se referindo ao ecossistema CUDA como um todo (bibliotecas como cuDNN, cuBLAS, TensorRT), e não apenas à linguagem de baixo nível.
- Há amplo consenso de que a maioria dos usuários acessa CUDA por meio de frameworks de nível mais alto (PyTorch, TensorFlow), raramente escrevendo kernels personalizados; alguns relatam fazer CUDA/PTX otimizado manualmente e considerá-lo poderoso, mas difícil e demorado.
- Alguns veem a complexidade do ecossistema e a compatibilidade retroativa como um “pântano” que, ainda assim, funciona como um fosso muito eficaz.
AMD, ROCm e GPUs não Nvidia
- Várias anedotas descrevem a pilha de software da AMD como instável ou com desempenho abaixo do esperado, com drivers vistos como o principal problema, e não a capacidade do hardware.
- O ROCm é descrito como aproximadamente análogo a CUDA+bibliotecas, com HIP usado como camada de abstração, mas o suporte é fragmentado e historicamente limitado a placas “pro” específicas ou mais novas.
- Vários observam que, apesar das restrições de oferta de GPUs da Nvidia, a falta de suporte de software maduro e sem atritos mantém grandes usuários na Nvidia.
x86, ARM e debates sobre ISA
- A discussão revisita o x86 como um “pântano” que evoluiu para uma espécie de codificação comprimida para micro-operações internas; com o tempo, o custo de suportar recursos CISC antigos diminuiu em relação ao orçamento total de transistores.
- Os comentaristas rebatem narrativas simplistas de “o x86 tem um núcleo RISC dentro”, explicando que quase todos os CPUs modernos (incluindo RISC-V) traduzem instruções em µops; “RISC vs CISC” é apresentado como algo em grande parte obsoleto.
- A ascensão da ARM é debatida: alguns destacam os chips M-series da Apple e o Graviton da AWS; outros apontam SIMD mais fraco (fora do SVE), desempenho real misto e forte inércia do ecossistema x86.
“Pântanos” de plataforma e compatibilidade retroativa
- Vários argumentam que a “pantanização” (ecossistemas complexos, confusos e compatíveis com versões anteriores) é uma característica comum de plataformas bem-sucedidas: x86, Windows, PDF, a web, Linux, até mesmo capitalismo e democracia.
- A compatibilidade retroativa é vista tanto como amigável para o usuário quanto como uma barreira para concorrentes, reforçando fossos mesmo quando o design subjacente é imperfeito.