Jim Keller, um lendário arquiteto de processadores que trabalhou em processadores x86, Arm, MISC e RISC-V, criticou neste fim de semana a arquitetura CUDA e a pilha de software da Nvidia e comparou-a ao x86, que ele chamou de pântano. Ele ressaltou que até a própria Nvidia possui vários pacotes de software para fins especiais que dependem de estruturas de código aberto por motivos de desempenho.
“CUDA é um pântano, não um fosso”, escreveu Keller em uma postagem X. “x86 também era um pântano. […] CUDA não é bonito. Foi construído empilhando uma coisa de cada vez.”
Na verdade, assim como o x86, o CUDA adicionou funcionalidades gradualmente, mantendo a compatibilidade com versões anteriores de software e hardware. Isso torna a plataforma da Nvidia completa e compatível com versões anteriores, mas afeta o desempenho e dificulta o desenvolvimento do programa. Enquanto isso, muitas estruturas de desenvolvimento de software de código aberto podem ser usadas de forma mais eficiente que CUDA.
“Basicamente ninguém escreve CUDA”, escreveu Keller em uma postagem posterior. “Se você escrever CUDA, provavelmente não será rápido. […] Há uma boa razão para existir Triton, Tensor RT, Neon e Mojo.”
Até a própria Nvidia possui ferramentas que não dependem exclusivamente de CUDA. Por exemplo, Triton Inference Server é uma ferramenta de código aberto da Nvidia que simplifica a implantação de modelos de IA em escala, suportando estruturas como TensorFlow, PyTorch e ONNX. Triton também oferece recursos como controle de versão de modelo, serviço multimodelo e execução simultânea de modelo para otimizar a utilização de recursos de GPU e CPU.
O TensorRT da Nvidia é um otimizador de inferência de aprendizado profundo de alto desempenho e uma biblioteca de tempo de execução que acelera a inferência de aprendizado profundo em GPUs Nvidia. O TensorRT pega modelos treinados de várias estruturas, como TensorFlow e PyTorch, e os otimiza para implantação, reduzindo a latência e aumentando o rendimento para aplicativos em tempo real, como classificação de imagens, detecção de objetos e processamento de linguagem natural.
Mas embora arquiteturas como Arm, CUDA e x86 possam ser consideradas pântanos devido à sua evolução relativamente lenta, compatibilidade retroativa obrigatória e volume, essas plataformas também não são tão fragmentadas quanto coisas como GPGPU, o que pode não ser uma coisa ruim.
Não está claro o que Jim Keller pensa do ROCm da AMD e do OneAPI da Intel, mas está claro que, embora ele tenha passado muitos anos de sua vida projetando arquiteturas x86, ele não está apaixonado por suas perspectivas futuras. Suas declarações também implicam que, embora ele tenha trabalhado em alguns dos maiores fabricantes de chips do mundo, incluindo Apple, Intel, AMD, Broadcom (e agora Tenstorrent), podemos não ver seu nome na lista da Nvidia a qualquer momento. breve.