NVIDIA faz transição completa para módulos de kernel de GPU Linux open source
(developer.nvidia.com)- A NVIDIA lançou em maio de 2022, com o driver R515, os módulos de kernel de GPU para Linux como open source sob dupla licença GPL e MIT
- Na época, isso era voltado para GPUs de computação de data center, e as GPUs GeForce e Workstation estavam em estado alfa
- A empresa anunciou que, em lançamentos posteriores, ofereceria suporte Linux mais robusto e completo para GeForce e Workstation, e que os módulos abertos de kernel da NVIDIA acabariam substituindo o driver fechado
- Dois anos depois, os módulos de kernel de GPU open source alcançaram desempenho de aplicações equivalente ou melhor e adicionaram novos recursos significativos, como:
- Suporte a HMM (heterogeneous memory management)
- Computação confidencial
- Arquitetura de memória coerente da plataforma Grace
- Entre outros
- Agora é o momento apropriado para fazer a transição completa para os módulos de kernel de GPU open source, e essa mudança será aplicada no próximo lançamento do driver R560
GPUs compatíveis
- Nem todas as GPUs são compatíveis com os módulos de kernel de GPU open source
- Plataformas mais recentes, como NVIDIA Grace Hopper e NVIDIA Blackwell, exigem o uso dos módulos de kernel de GPU open source, e o driver proprietário não é suportado nessas plataformas
- Para GPUs mais novas com arquiteturas Turing, Ampere, Ada Lovelace e Hopper, é recomendada a migração para os módulos de kernel de GPU open source
- GPUs mais antigas com arquiteturas Maxwell, Pascal e Volta não são compatíveis com os módulos de kernel de GPU open source, portanto devem continuar usando o driver proprietário da NVIDIA
- Em distribuições no mesmo sistema que misturam GPUs antigas e novas, deve-se continuar usando o driver proprietário
- A NVIDIA fornece um novo script auxiliar de detecção para orientar qual driver deve ser escolhido. Para mais detalhes, consulte a seção "Usando o script auxiliar de instalação" mais adiante neste post
Mudanças no instalador
- Em geral, a versão padrão do driver instalada por todos os métodos de instalação está sendo alterada do driver proprietário para o driver open source. Há alguns cenários específicos que exigem atenção especial:
- Gerenciador de pacotes com metapacote CUDA
- Arquivo executável
- Script auxiliar de instalação
- Detalhes do gerenciador de pacotes
- Windows Subsystem for Linux
- CUDA Toolkit
Uso de gerenciador de pacotes com metapacote CUDA
- Ao instalar o CUDA Toolkit com um gerenciador de pacotes (e não com arquivo run), existe e normalmente é usado um metapacote de instalação. Ao instalar o pacote de nível superior
cuda, são instalados em conjunto o CUDA Toolkit e a versão de driver associada
Uso de arquivo executável
- Ao instalar o CUDA ou o driver da NVIDIA usando um arquivo
.run, o instalador consulta o hardware e instala automaticamente o driver mais adequado para o sistema. Também é possível escolher entre o driver proprietário e o driver open source por meio de uma opção na interface
Usando o script auxiliar de instalação
- Como mencionado anteriormente, se você não tiver certeza de qual driver escolher para a GPU do sistema, a NVIDIA criou um script auxiliar para orientar esse processo de escolha
- Para usá-lo, primeiro instale o pacote
nvidia-driver-assistantcom o gerenciador de pacotes e depois execute o script
Detalhes do gerenciador de pacotes
- Para uma experiência consistente, a NVIDIA recomenda usar o gerenciador de pacotes ao instalar o CUDA Toolkit e o driver. No entanto, os sistemas específicos de gerenciamento de pacotes ou a estrutura dos pacotes usados em diferentes distribuições podem variar de acordo com cada distribuição
- Esta seção descreve os detalhes específicos, cuidados ou etapas de migração necessários para várias plataformas
Windows Subsystem for Linux
- O Windows Subsystem for Linux (WSL) usa o driver de kernel NVIDIA do sistema operacional Windows hospedeiro. Nenhum driver específico deve ser instalado nesta plataforma. Se você usa WSL, nenhuma mudança ou ação é necessária
CUDA Toolkit
- A instalação do CUDA Toolkit não muda via gerenciador de pacotes. Basta executar o seguinte comando:
$ sudo apt-get/dnf/zypper install cuda-toolkit
Mais informações
- Para detalhes sobre como instalar o driver NVIDIA ou o CUDA Toolkit, consulte a seção "Instalação do driver" do guia de instalação do CUDA
Opinião do GN⁺
-
O fato de a NVIDIA disponibilizar os módulos de kernel de GPU como open source é uma mudança muito positiva para o ecossistema de computação com GPU. Isso permitirá que usuários e desenvolvedores depurem e resolvam com mais facilidade problemas relacionados aos drivers de GPU da NVIDIA
-
A transição para open source deve oferecer mais flexibilidade e transparência para usuários que utilizam GPUs da NVIDIA em áreas como HPC, IA e machine learning. Em especial, isso pode ajudar a reduzir preocupações com segurança e estabilidade na adoção de soluções com GPUs NVIDIA em ambientes corporativos
-
Ainda assim, durante a transição para open source podem surgir problemas de compatibilidade com aplicações existentes baseadas no driver proprietário. A NVIDIA deverá apresentar diretrizes claras e um caminho de migração para isso
-
Também pode ser interessante comparar com plataformas concorrentes de computação com GPU open source, como o ROCm da AMD. A expectativa é que a transição open source da NVIDIA intensifique a concorrência no setor de computação com GPU
-
Espera-se que, daqui para frente, a NVIDIA aceite ativamente contribuições da comunidade e continue melhorando o desempenho e a estabilidade dos módulos de kernel de GPU open source. Isso deve contribuir para acelerar a popularização e a inovação na computação com GPU
4 comentários
Linus Torvalds: NVIDIA! Toma! Tchau!
Uma frase forte.. F*da-se..!
Pode ser, haha
Comentários do Hacker News
Lembro que, há alguns anos, a Nvidia sofreu um hack sério
O módulo de kernel da Nvidia é dividido em dois componentes
.runda Nvidia, o componente OS-agnostic é fornecido em binárioTroquei para AMD porque usar Sway e Wayland com a Nvidia era difícil demais
Fico curioso sobre como está a situação atual dos drivers da Nvidia no Linux
A Nvidia fez a transição completa para módulos de kernel de GPU open source
Espero que essa mudança facilite a instalação/atualização dos drivers da Nvidia no Linux
Não adianta jogar um tarball e dizer "se vira!"
Como alguém cético que lê os detalhes com cuidado, acho que isso é um bom movimento
Lembro de quando o Linus olhou para a câmera e mandou o dedo do meio para a Nvidia
O fato de terem entregado pelo menos o módulo de kernel já significa alguma coisa