- Projeto que tem como objetivo substituir a API do driver CUDA para permitir a execução de código CUDA em GPUs Nvidia sem depender do runtime CUDA proprietário
- Comunica-se diretamente com o hardware por meio de
ioctls (em especial o que a Nvidia chama de rmapi em seu módulo de kernel GPU aberto) e da QMD, a estrutura de fila de comandos MMIO da Nvidia
- Pode enviar binários CUDA ELF para a GPU e executá-los por meio da fila de comandos
- Funcionalidades atuais
- Alocação e liberação de memória da GPU, além de mapeamento de memória para acesso pela CPU
- Pode enviar binários CUDA ELF para a GPU
- Execução de kernels CUDA por meio da fila de comandos
- Licença MIT
Resumo do GN⁺
- LibreCUDA é um projeto que permite executar código CUDA em GPUs Nvidia sem um runtime CUDA proprietário
- No momento, apenas funcionalidades básicas foram implementadas, e ele ainda não está pronto para uso prático
- Um projeto com funcionalidade semelhante é o ROCm, que oferece recursos parecidos com CUDA em GPUs AMD
1 comentários
Comentários do Hacker News
O objetivo do CUDA aberto é permitir execução em GPUs que não sejam da NVIDIA
Tenho experiência limitada com CUDA, mas fico me perguntando se isso ajudaria a resolver os problemas de versão de dependências de CUDA/CUDNN que acontecem ao executar várias bibliotecas de ML, como TensorFlow e ONNX
Muito bom
O primeiro passo para projetos que dependem de CUDA obterem liberdade de plataforma deveria ser migrar do LibreCUDA para HiP
Fico curioso sobre o que é um arquivo CUDA ELF
Para quem está começando com CUDA, fico me perguntando que problema isso resolve
Parece que perderam a chance de chamar isso de CUDA Libre
Ainda fico me perguntando se é preciso continuar usando o driver gráfico proprietário da NVIDIA, ou se isso é completamente irrelevante
Os autores talvez já devam começar a pensar em notificações por violação de marca registrada
Depois que o ZLUDA foi encerrado a pedido da AMD, é preciso um substituto do ZLUDA como forma geral de quebrar dependências de CUDA