ROCm desafia o CUDA: ‘avançando um passo de cada vez’
(eetimes.com)- A AMD está reforçando sua estratégia de GPUs para datacenter com foco na pilha de software de IA ROCm para enfrentar o ecossistema CUDA da Nvidia
- O ROCm evoluiu de um simples conjunto de firmwares no início para uma plataforma de software completa e está adotando um ciclo de lançamentos a cada 6 semanas para garantir usabilidade estável
- Por meio do OneROCm, a empresa busca integrar a pilha de IA e garantir portabilidade entre CPU, GPU e FPGA, além de aumentar a eficiência de desenvolvimento com reutilização de código baseada em Triton e MLIR
- O ROCm tornou open source todos os componentes, exceto o firmware, absorvendo a velocidade de inovação da comunidade, e também oferece suporte padrão em notebooks com Strix Halo e na versão para Windows
- A AMD dá prioridade à resposta ao feedback de desenvolvedores e à recuperação da confiança da comunidade, com o objetivo de transformar o ROCm em uma plataforma sustentável e centrada em desenvolvedores pelos próximos 10 anos
A evolução do AMD ROCm e a estratégia para competir com o CUDA
- A AMD está promovendo a pilha de software de IA ROCm como estratégia central para enfrentar o ecossistema CUDA da Nvidia no mercado de GPUs para datacenter
- Anush Elangovan, vice-presidente da divisão de software de IA, descreve o desenvolvimento do ROCm como “subir uma montanha, avançando um passo de cada vez”, destacando a importância de melhorias contínuas e integração
- Ele entrou na AMD após a aquisição da startup Nod.ai, e a equipe da Nod contribuiu para importantes projetos open source como Shark, Torch.MLIR e IREE
- Com o OneROCm, a AMD busca integrar a pilha de IA entre CPU, GPU e FPGA e encurtar o ciclo de desenvolvimento de software para 6 semanas, com a meta de chegar a um nível em que “o usuário nem precise se preocupar com a versão”
- Atualmente, o ROCm se prepara para uma transição voltada à engenharia com suporte de IA, acelerando sua expansão com foco no ecossistema open source e na comunidade de desenvolvedores
O avanço do ROCm e a estratégia de software
- No início, o ROCm era um conjunto de vários fragmentos de firmware, mas após dois anos e meio de investimento evoluiu para uma plataforma de software completa
- Elangovan afirma ter usado a cultura de desenvolvimento da equipe do Google Chrome como referência para buscar ciclos regulares de lançamento e uma experiência de usuário estável
- O ROCm passou a ser um software que “simplesmente funciona” e deve migrar para um modelo de lançamentos a cada 6 semanas
- A AMD está em transição de uma empresa centrada em hardware para uma empresa centrada em software, e vê como próximo ponto de virada a engenharia assistida por IA (AI-assisted engineering)
Integração da pilha de IA e portabilidade
- Com o OneROCm, a AMD concretiza a integração da pilha de IA entre diferentes tipos de hardware, como CPU, GPU e FPGA
- Alguns componentes ainda dependem do hardware, mas toda a aceleração é feita pela pilha ROCm, o que garante portabilidade (portability)
- A disseminação do framework Triton reduziu os problemas de compatibilidade entre GPUs
- Antes, kernels CUDA eram convertidos para kernels HIP, mas agora é possível escrever kernels em Triton e executá-los tanto em AMD quanto em Nvidia
- A AMD investe ativamente no Triton e na infraestrutura de compiladores MLIR, e dá suporte ao redirecionamento de código para vários tipos de hardware por meio da manutenção do Torch.MLIR
- A maioria dos clientes de inferência usa frameworks de LLM como vLLM e SGLang, e os pedidos para conversão de código CUDA vêm diminuindo
- Quando surge um novo algoritmo de attention, é possível otimizar kernels baseados em Triton em um ou dois dias
- O HIPify continua disponível para clientes de HPC, e a empresa usa Claude AI para validação e geração de código ao escrever novos kernels
Estratégia open source
- O ROCm disponibiliza 100% dos componentes como open source, com exceção do firmware
- Ao abrir o código, a AMD obtém validação da comunidade de desenvolvedores e também pode aproveitar a velocidade de inovação da comunidade, mais rápida que a da própria AMD
- Qualquer pessoa pode participar no ponto que quiser, como compiladores ou runtime, sem ficar limitada ao ritmo de colaboração da AMD
- A AMD está expandindo ativamente a comunidade de desenvolvedores, e o ROCm já vem com suporte padrão em notebooks com Strix Halo
- Atualizações da versão do ROCm para Windows são distribuídas no mesmo dia que as do hardware de datacenter Instinct
Comunidade de desenvolvedores e cultura de feedback
- Elangovan valoriza a comunicação direta com desenvolvedores e coleta feedback em tempo real pelo X (Twitter)
- Ele monitora palavras-chave como “ROCm”, “ROCm sucks” e “AMD software not working” e responde pessoalmente a todas as postagens
- Segundo ele, a maioria dos problemas vem de falta de educação e suporte, e ele oferece orientação direta até mesmo a desenvolvedores anônimos
- A AMD investigou mais de 1.000 reclamações relacionadas ao ROCm no GitHub e resolveu todas em um ano
- Havia muitos pedidos de suporte para hardware antigo, que hoje é mantido pela AMD ou pela comunidade
- Com essa postura, a confiança dos desenvolvedores foi restaurada, e se espalhou a percepção de que “a AMD resolve os problemas”
- Elangovan demonstrou expectativa em relação à GPU MI450, prevista para o segundo semestre de 2026, e destacou que pretende transformar o ROCm em uma plataforma sustentável para a próxima década
- O objetivo é construir um ecossistema estável em que desenvolvedores não precisem se preocupar mesmo quando surgir novo hardware
Direção futura e filosofia
- Com base em sua experiência na Nod.ai, Elangovan cita casos em que tecnologias de compiladores foram adotadas por praticamente todas as empresas de aceleradores
- Ele afirma que “é preciso avançar um passo de cada vez com convicção”, definindo a evolução do ROCm como resultado de execução contínua
- A AMD está indo além de simplesmente copiar o CUDA e desenvolve funcionalidades diferenciadas para o ROCm, com a meta de se posicionar no longo prazo como uma plataforma centrada em desenvolvedores
2 comentários
Comecem pelo driver...
Comentários do Hacker News
Na última semana, enquanto portava o TheRock para o stagex, tentei compilar o ROCm com uma toolchain baseada em musl/mimalloc
porque, em workloads em que segurança e privacidade são críticas, não dá para confiar em binários construídos com um único compilador
Foi um pesadelo empacotar mais de 30 dependências e um LLVM customizado, mas finalmente consegui compilar o runtime hoje de manhã
O fato de o hardware da AMD funcionar em um ambiente totalmente aberto dá esperança para workloads de alta segurança
Consegui passar pelo fork customizado de LLVM e por vários pacotes, mas no fim desisti porque era perda de tempo
Agora uso o llama.cpp com suporte a Vulkan e estou bastante satisfeito
Se você puder compartilhar a receita de build, acho que ajudaria a passar da etapa final do port para Alpine
No ano passado parei a campanha de acionistas por confiar nas promessas da AMD, mas agora sinto que realmente é preciso agir
unlockgpu.com/action-plan
Não pode ser assim, esse trabalho claramente precisa ser utilizável
A Nvidia também prometeu melhorar os drivers open source
Pessoalmente, acho mais atraente a Intel oferecer 32 GB de VRAM na faixa dos 1000 dólares
É um esquema de misturar e linkar arquivos .o gerados por compiladores diferentes?
Fiquei curioso se é um workload que realmente tenta evitar, na prática, o problema de Reflections on Trusting Trust
Desde fevereiro venho pedindo à AMD para incluir kernels Tensile ajustados para gfx1201 no rcom-libs, mas ninguém sabe quem é o responsável
Nem no Discord de desenvolvedores respondem, o que é frustrante. Parece um caso que expõe não só problemas técnicos, mas também um gargalo organizacional na AMD
zichguan-amd ou harkgill-amd podem ser as pessoas responsáveis
A AMD ainda tem que tirar uma defasagem de vários anos em ROCm
Nem todas as GPUs da empresa capazes de fazer operações de IA são suportadas, e mesmo quando são há muitos bugs
O driver AMDGPU para Linux vem ficando instável desde o 6.6
Não perceber que a IA se tornaria importante foi claramente um erro
Seria melhor para toda a indústria se a AMD fosse competitiva nisso, mas ela mesma causou essa situação
Desde os tempos da ATI já havia má fama de drivers cheios de bugs, e parece que essa cultura não mudou depois da aquisição pela AMD
No ano passado a AMD coletou reclamações sobre ROCm no GitHub e anunciou que havia resolvido todas as 1000
Mas, na prática, quase não houve aumento no suporte a hardware antigo
Quando chegar o dia em que o ROCm tiver suporte no lançamento para todas as placas AMD, aí sim talvez eu acredite no marketing
Ter abandonado até placas relativamente novas, como a série 400, foi um grande erro
Espero que a diretoria invista mais na stack de software
O ROCm não é suportado em GPUs de consumidor comuns, como a RX 580
Em vez disso, o backend Vulkan funciona bem
Acho normal a arquitetura GCN já ter perdido suporte, mas na geração RDNA o problema ainda é a falta de suporte
No momento, só RDNA3 e RDNA4 são possíveis, enquanto o CUDA ainda suporta Turing
Veja a documentação oficial
O backend Vulkan funciona bem, mas o suporte oficial demorou de 1 a 2 anos para chegar
Gostaria que a stack do ROCm fosse organizada (clean-up)
Algo como simplesmente
git clone --recurse-submodules rocme depois compilar com configure/make, com mensagens claras sobre dependências ausentesHoje parece mais um monte de componentes jogados sem estrutura, e não se vê uma arquitetura consistente
Eu estou no time OpenVINO e SYCL contra o CUDA
As iGPU e dGPU da Intel ficaram com preços razoáveis recentemente, e o suporte de software também melhorou
Para workloads de visão computacional ou ciência de dados, em vez de jogos, isso escala bem
Este é o feedback sobre ROCm que eu gostaria de passar para a diretoria da AMD
(1) Ter suportado só GPUs de servidor e ignorado GPUs/APUs de consumidor foi um erro estratégico
A maioria dos desenvolvedores experimenta no notebook pessoal e depois escala para servidores
Como o CUDA, ele precisa rodar em GPUs de consumidor, mesmo que com desempenho menor
(2) A política de suportar só duas gerações é irracional do ponto de vista do cliente
Veja a documentação oficial
O CUDA mantém uma retrocompatibilidade forte
(3) Focar só em Triton e tratar HIP como algo de segunda categoria é uma direção errada
Ainda existe muito código de HPC, simulação e computação científica baseado em C/C++
GPUs da AMD têm desempenho FP64 como ponto forte, então isso é praticamente abrir mão da própria vantagem
(4) Por fim, é preciso melhorar a qualidade do empacotamento
Cooperar com mantenedores de distribuições não custa tanto e pode gerar vantagem competitiva frente à Nvidia
Dá para escrever kernels diretamente em várias linguagens, como Python e Julia, e a integração com IDE, depuradores e bibliotecas é excelente
Quando se olha o ecossistema GPGPU como um todo, AMD e Intel ainda não alcançam o nível de maturidade do ecossistema do CUDA
A maioria das empresas opta por um modelo de instalação do fornecedor como
/opt/foo/Isso também facilita para a distribuição empacotar por conta própria depois
Mas, para entender isso, é preciso ter gente com experiência no ecossistema open source
Está atrasando o lançamento de GPUs de consumidor com muita VRAM e focando no mercado de servidores
Se a AMD souber aproveitar essa brecha, isso pode virar uma oportunidade
Por exemplo, ele roda bem na 7900 XT
Só não aparece como “suporte oficial” porque a AMD não investe recursos de teste nisso
Pela minha experiência anterior com compute shaders, CUDA, ROCm e OpenCV são todos complicados demais de instalar
As dependências são grandes, e o CUDA ocupa 11 GB
Acho melhor simplesmente usar Vulkan. Não fica preso a plataforma e “simplesmente funciona”
Só compilação de shader e configuração de recursos já exigem centenas de linhas, e para lidar com endereços de GPU são necessárias extensões
Não parece algo que deveria levar horas
Antigamente, na NVIDIA, havia até um bug(?) em que mudar para modo gráfico gerava 20% mais desempenho