lardemua / deep

A repository about the new laboratory AI computer
7 stars 1 forks source link

Problemas com a Instalação do nvidia-docker #4

Closed miguelriemoliveira closed 2 years ago

miguelriemoliveira commented 2 years ago

Olá @vitoruapt ,

Eu e o Daniel estivemos a tentar instalar o nvidia container toolkit para o docker.

corremos estas instruções para SUSE 15.2

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#id4

Só que neste ponto não existe instalação para a versão 15.2.

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \

&& sudo zypper ar https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo

Tentamos isto sem sucesso https://github.com/NVIDIA/nvidia-container-toolkit/issues/10 Só conseguimos avançar forçando a distro para 15.1, mas depois na instrução

sudo zypper install -y nvidia-docker2

Temos um erro de conflito de pacotes:

ike@deeplar:~> sudo zypper install -y nvidia-docker2

Loading repository data...
Warning: Repository 'Main Update Repository' appears to be outdated. Consider using a different mirror or server.
Warning: Repository 'Update Repository (Non-Oss)' appears to be outdated. Consider using a different mirror or server.
Reading installed packages...
Resolving package dependencies...

The following 4 NEW packages are going to be installed:
  libnvidia-container1 libnvidia-container-tools nvidia-container-toolkit nvidia-docker2

4 new packages to install.
Overall download size: 0 B. Already cached: 2,9 MiB. After the operation, additional 12,5 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
In cache libnvidia-container1-1.10.0-0.1.rc.1.x86_64.rpm                         (1/4), 933,9 KiB (  3,1 MiB unpacked)
In cache libnvidia-container-tools-1.10.0-0.1.rc.1.x86_64.rpm                    (2/4),  50,1 KiB (100,5 KiB unpacked)
In cache nvidia-container-toolkit-1.10.0-0.1.rc.1.x86_64.rpm                     (3/4),   1,9 MiB (  9,3 MiB unpacked)
In cache nvidia-docker2-2.10.0-1.noarch.rpm                                      (4/4),  11,5 KiB ( 11,9 KiB unpacked)

Checking for file conflicts: ..................................................................................[error]
Detected 1 file conflict:

File /etc/docker/daemon.json
  from install of
     nvidia-docker2-2.10.0-1.noarch (libnvidia-container)
  conflicts with file from package
     docker-20.10.14_ce-lp152.1.1.x86_64 (@System)

File conflicts happen when two packages attempt to install files with the same name but different contents. If you continue, conflicting files will be replaced losing the previous content.
Continue? [yes/no] (no): no

Problem occurred during or after installation or removal of packages:
Installation has been aborted as directed.
History:
 - ABORT request: 

Please see the above error message for a hint.

Não sabemos como avançar agora. Tem alguma ideia?

vitoruapt commented 2 years ago

Não estou por dentro do problema e, portanto, não tenho ideia do que se possa estar a passar, logo não sei se há solução imediata, em especiAl porque o SO é SUSE e se calhar estamos todos menos familiarizados do que com UBUNTU! Só me ocorrem duas saídas: 1- Pedir ajuda ao Pedro Azevedo para ver se ele reconhece alguma solução (posso fazê-lo sudoer para ele trabalhar convosco) 2- Prescindir do Docker :-( e trabalhar com outro container como miniconda, como temos vindo a fazer no passado...

Ou ainda, se tiver predisposição e coragem :-), contactar o Bernardo Lourenço a perguntar se ele pode dar uma ajuda...

miguelriemoliveira commented 2 years ago

Sim, por mim pode ser a 1, pode ser que o Pedro consiga. Ontem ainda tentamos procurar algumas coisas mas sem sucesso.

Coragem para contactar o Bernardo não tenho. Aliás, isto de termos o SUSE não faz sentido nenhum ...

callmesora commented 2 years ago

Esta pessoa conseguiu mete-lo a funcionar com forçando a versão 15.1 . Usou a tag "sles15.1" em vez da tag do open suse". Não acho que faça differença mas pode-se exprimentar. https://github.com/NVIDIA/nvidia-docker/issues/1490

Então sabemos que é possível. :)

Fui ai ver nos docs que o Bernardo deixou e vi que ele também já usou containers com o NVIDIA , usava Podman em vez de docker (mas é basicamente a mesma coisa) , e usava nvidia-container-run-time em vez de nvidia-docker (fazem basicamente a mesma coisa para todos os efeitos) mas o nvidia docker só funciona no docker por isso é que o Bernardo optou pela outra opção penso eu, posso lhe perguntar.

Não sei porque acho que o podman e estas livrarias do run-time já não estão instaladas (não sei se atualizaram o SUSE entretanto). Mas o importante é o seguinte: Se o Bernardo o conseguiu por a correr, então hei de achar uma maneira de o por a correr.

Este conflito: nvidia-docker2-2.10.0-1.noarch (libnvidia-container) conflicts with file from package docker-20.10.14_ce-lp152.1.1.x86_64 (@System)

Pode ter haver com a vesão do Docker que temos a ultima que é recomendada com o SUSE + nvidia docker "To install the latest Docker 19.03 CE release on SUSE 15...." .

Em suma

miguelriemoliveira commented 2 years ago

Olá Pedro,

Se isto não funcionar, desisntalamos o docker 20.10.14, e voltamos a instalar a partir das instruções dadas em: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#id4

Já o tentei fazer com o Daniel, mas sem sucesso.

Podemos forçar a versão 15.1 sem problemas

Também o tentamos fazer mas com o opensuse15.1. Tentei agora com o sles15.1 como sugere mas continua a dar um erro de conflito de pacotes:

4 new packages to install. Overall download size: 2,9 MiB. Already cached: 0 B. After the operation, additional 12,5 MiB will be used. Continue? [y/n/v/...? shows all options] (y): y Retrieving package libnvidia-container1-1.10.0-0.1.rc.1.x86_64 (1/4), 933,9 KiB ( 3,1 MiB unpacked) Retrieving: libnvidia-container1-1.10.0-0.1.rc.1.x86_64.rpm ...................................................[done] Retrieving package libnvidia-container-tools-1.10.0-0.1.rc.1.x86_64 (2/4), 50,1 KiB (100,5 KiB unpacked) Retrieving: libnvidia-container-tools-1.10.0-0.1.rc.1.x86_64.rpm ..............................................[done] Retrieving package nvidia-container-toolkit-1.10.0-0.1.rc.1.x86_64 (3/4), 1,9 MiB ( 9,3 MiB unpacked) Retrieving: nvidia-container-toolkit-1.10.0-0.1.rc.1.x86_64.rpm ...................................[done (1,7 MiB/s)] Retrieving package nvidia-docker2-2.10.0-1.noarch (4/4), 11,5 KiB ( 11,9 KiB unpacked) Retrieving: nvidia-docker2-2.10.0-1.noarch.rpm ................................................................[done]

Checking for file conflicts: .................................................................................[error] Detected 1 file conflict:

File /etc/docker/daemon.json from install of nvidia-docker2-2.10.0-1.noarch (libnvidia-container) conflicts with file from package docker-20.10.14_ce-lp152.1.1.x86_64 (@System)

File conflicts happen when two packages attempt to install files with the same name but different contents. If you continue, conflicting files will be replaced losing the previous content. Continue? [yes/no] (no): no

Problem occurred during or after installation or removal of packages: Installation has been aborted as directed. History:

  • ABORT request:

Please see the above error message for a hint.

até porque vou percisar do sudo para instalar umas coisas extras da mish activation function para treinar um dos algoritmos e não faz sentido estar vos a sobre carregar com estes comandos pequenos que requerem sudo

A ideia do docker era mesmo essa, vocês puderem instalar o que quisessem sem precisarem das permissões de sudo.

callmesora commented 2 years ago

Já exprimentou dar o [yes] no Continue? Não estou me a lembrar de outra solução e não vejo o que temos a perder já que isso só meche nos files do docker.

Já o tentei fazer com o Daniel, mas sem sucesso.

"Detected 1 file conflict:

File /etc/docker/daemon.json from install of nvidia-docker2-2.10.0-1.noarch (libnvidia-container) conflicts with file from package docker-20.10.14_ce-lp152.1.1.x86_64 (@System) "


Neste erro ainda diz que temos o Docker 20.10.14, nos docs da nvidia dizem para usar o Docker 19.03 CE. Tentou desinstalar o atual e substituir com este também?

A ideia do docker era mesmo essa, vocês puderem instalar o que quisessem sem precisarem das permissões de sudo.

Pois eu percebo, era parcialmente por isso que queria mesmo o docker a funcionar. Mas sem ele não tenho a certeza que consigo treinar os meus algoritmos porque não requerem só dependencias do tipo requirments.txt mas instalações que devem ser feitas com o sudo, só miniconda nao resolve. E fico sem conseguir continuar a trabalhar :(

miguelriemoliveira commented 2 years ago

Já exprimentou dar o [yes] no Continue? Não estou me a lembrar de outra solução e não vejo o que temos a perder já que isso só meche nos files do docker.

ele passa essa parte automaticamente e não me deixa responder. Assume sempre o No.

Neste erro ainda diz que temos o Docker 20.10.14, nos docs da nvidia dizem para usar o Docker 19.03 CE. Tentou desinstalar o atual e substituir com este também?

Isso não tentamos. Experimente que pode ser a solução.

callmesora commented 2 years ago

Temos nvidia-docker a funcionar :') Exprimentei desisntalar e instalar não funcionou, tentei mudar aquela flag -y para -f , e já deu para clicar no "yes".

Deixei um container com Pytorch a funcionar , e exprimentei, conseguimos aceder ao CUDA lá, então (em principio) conseguimos usar as GPUs .

Preciso que @miguelriemoliveira me dê permissão para dar um pull-request no git (e ao Daniel Também para irmos os dois melhorar a documentação do DeepLar). Assim adiciono, no read-me do DeepLar como ligar os contentores com o PyTorch /TensorFlow (o que quer que seja). E um set up "Ready to Go" já configurado

image

miguelriemoliveira commented 2 years ago

Boas novidates @callmesora ,

quando a permissões, já está.

Parabéns, Miguel