FERRAMENTAS LINUX: Como Configurar um Ambiente de Software de Aprendizado de Máquina com o rocm_sdk_builder

segunda-feira, 27 de maio de 2024

Como Configurar um Ambiente de Software de Aprendizado de Máquina com o rocm_sdk_builder

 


Um usuário criou o seu próprio sistema de compilação do SDK AMD ROCm. 

Este sistema facilita a configuração de um ambiente de software de aprendizado de máquina do zero em GPUs Radeon da AMD sob Linux. O sistema de compilação open-source integra o código-fonte do AMD ROCm e ferramentas aceleradas por GPU, como PyTorch e ONNX, simplificando a implantação sem depender de Docker ou outras soluções.

O rocm_sdk_builder integra cerca de 80 projetos, facilitando a compilação e direcionamento para as GPUs selecionadas no sistema. Este projeto é um hobby de Mika Laitio, um desenvolvedor independente de código aberto, que queria simplificar a experimentação com software de aprendizado de máquina em suas placas gráficas Radeon.




Em um e-mail ao Phoronix, Mika explicou sua motivação e planos com o rocm_sdk_builder. Ele queria verificar como descarregar parte do código do CPU para a GPU em GPUs de nível de consumo. A pilha de código aberto da AMD, desde os drivers do kernel Linux até o ROCm, ofereceu oportunidades para melhorar significativamente o sistema.

Inicialmente, Mika começou baixando, corrigindo e compilando os repositórios individualmente. Após configurar uma pilha básica de cerca de 15 projetos, percebeu a necessidade de um sistema de compilação sistemático para gerenciar patches e configurações específicas de projeto e versão. A partir daí, os projetos passaram a ter um sistema de compilação estilo patch, com arquivos de configuração próprios e suporte para os  comandos no git.





O sistema de compilação do rocm_sdk_builder instala todos os arquivos do projeto em um único diretório, facilitando a gestão. Mika também desenvolveu um Python separado para evitar conflitos de dependências com a distribuição Linux. Tentativas iniciais com um ambiente virtual Python apresentaram problemas que foram resolvidos construindo e instalando o Python real.

Mika convida usuários com GPUs AMD a testar o rocm_sdk_builder e fornecer feedback e patches para melhorar o sistema. Há patches no repositório ROCm para adicionar suporte de fallback para GPUs mais antigas, por exemplo, no rocBLAS. O sistema oferece um ambiente fácil e consistente para testar a pilha completa de aprendizado de máquina.






Os planos futuros incluem criar uma ramificação de compilação para código de ponta, obtendo código-fonte de ramificações de desenvolvimento de outros projetos. Mika também deseja adicionar testes mais extensivos para verificar o funcionamento esperado em diferentes GPUs, além de exemplos mais avançados e tutoriais. Novas ferramentas, como o TensorBoard, estão sendo consideradas.

O rocm_sdk_builder compila todo o software dentro de um diretório específico, sem depender de Docker. Quem quiser experimentar o rocm_sdk_builder ou aprender mais pode visitar o site do projeto no GitHub.





Fonte 

Até a próxima !!

Nenhum comentário:

Postar um comentário