A AMD está trabalhando em um suporte mais robusto para a virtualização de computação de GPU, integrando sua pilha de computação ROCm e HIP para máquinas virtuais (VMs). A atualização foi apresentada na XDC 2024 em Montreal, destacando os avanços em drivers de GPU de código aberto para Linux e a pilha ROCm de computação.
A empresa tem investido significativamente no suporte à virtualização de GPUs, com foco na implementação do suporte ao VirtIO GPU, especificamente para computação. No passado, a AMD concentrou-se na ativação de virtualização Xen com gráficos 3D. Agora, a prioridade é fornecer suporte completo à computação via ROCm dentro de máquinas virtuais, possibilitando o uso do OpenCL para operações computacionais dentro de ambientes virtualizados.
Além disso, a AMD está utilizando a tecnologia VirtIO para criar contextos nativos dentro do runtime ROCm, permitindo que o desempenho da computação dentro de máquinas virtuais se aproxime do que seria possível em hardware bare-metal. Um exemplo disso é o desempenho OpenCL no ambiente DOM0, que chega a 97.54% da capacidade nativa.
Recentemente, a AMD também apresentou comparações de desempenho que mostraram que o OpenCL em VMs pode ser bastante competitivo, mesmo quando comparado a execuções em hardware físico. Por exemplo, o GeekBench6 demonstrou que a performance OpenCL no DOMU com VirCL atingiu 42.98%, um valor considerável para operações virtualizadas.
Essa novidade é alinhada a desenvolvimentos recentes, como o anúncio da Qualcomm do driver Mesa VCL, que traz aceleração OpenCL dentro de VMs, ampliando as possibilidades de computação em nuvem e sistemas embarcados.
Avanços da AMD com ROCm/HIP para VMs
A AMD já está prototipando o suporte ao contexto nativo ROCm dentro de VMs, demonstrando a capacidade de rodar operações OpenCL dentro desses ambientes. A empresa está se esforçando para estender o suporte além do OpenCL, buscando integrar toda a pilha ROCm/HIP dentro de máquinas virtuais, trazendo benefícios de computação avançada para sistemas virtualizados.
Este esforço é inspirado no suporte ao contexto nativo do VirtIO, utilizado para gráficos 3D, agora sendo aplicado à computação, com o uso do libhsakmt para encaminhamento de API. A solução está sendo desenvolvida visando, principalmente, aplicações em sistemas embarcados, como veículos, e a equipe internacional da AMD está ativamente envolvida na integração dessa tecnologia com Xen e QEMU.
A AMD também planeja disponibilizar essa tecnologia upstream, o que significa que o suporte à computação ROCm para virtualização estará disponível diretamente no kernel Linux, trazendo melhorias para diversos segmentos da indústria, especialmente automotivo e nuvem.
Perspectivas futuras
A AMD continua trabalhando para incluir suporte a frameworks de inteligência artificial em máquinas virtuais, além de expandir o suporte para múltiplos processos através de contextos nativos no AMDKFD. O time global da AMD segue empenhado em melhorar as tecnologias de computação GPU virtualizada e permitir que sistemas embarcados, como veículos, aproveitem esses avanços.
Os interessados podem assistir à apresentação completa da AMD na X.Org Developer’s Conference 2024, que inclui mais detalhes técnicos e o plano de implementação através de slides e vídeos disponíveis.